Autor Beitrag
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 13.05.07 15:45 
Hi,

user profile iconSummerjam hat folgendes Problem:
Zitat:
ich programmier paint nach..n der mausmove procedure hab ich im gesagt das er die gummilinien grau malen soll
nun soll er aber danach in der mausup porcedure wieder in anderen farben malen
das amcht er aber net


Hat jemand ne Lösung für dieses Problem?

EDIT: Summerjam, könntest du hier bitte deinen gesamten Quelltext posten, ansonsten wirds sehr schwierig werden, dir zu helfen.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 13.05.07 15:54 
Ich würd sagen, dass er des net macht, weil du das nicht so programmiert hast. Im Mouseup einfach wieder die Farbe setzen...

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 15:59 
Titel: .
udn wie geht das??
Chryzler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 13.05.07 16:02 
user profile iconChryzler hat folgendes geschrieben:
Summerjam, könntest du hier bitte deinen gesamten Quelltext posten, ansonsten wirds sehr schwierig werden, dir zu helfen.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 13.05.07 16:04 
Du hasts doch anscheinend schonmal geschafft, die Farbe zu ändern. Da wirst du es doch nochmal schaffen!

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 13.05.07 16:07 
Er hat vorher erst mehrfach beschrieben, dass er mit den Nerven am Ende ist, und das kann ich ihm gut nach empfinden, hatte ich doch selbst ab und zu solche Situationen :autsch:
Summerjam, wie schon gesagt wurde, bitte gib uns erstmal größere Abschnitte von deinem Quelltext. Bitte schließe ihn gleich so: <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG0250c4b66122700e608682c213068aec}</span></span> mit in Delphi-Tags ein.
Ich bin sicher, wir werden in weniger als einer halben Stunde eine Lösung für dich parat haben ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 16:23 
Titel: geht net anders
also das ist mein quelltext...

soo.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
procedure TPaint.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Mausgedrueckt:=true;
 Xanfang:=X;
Yanfang:=Y;
Xende:=X;
Yende:=Y;
Canvas.MoveTo (Xanfang, Yanfang)
end;


procedure TPaint.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if Mausgedrueckt=true
      then
   if  BitBTnFrei.Enabled=false
  then Canvas.LineTo(X,Y)
      else
  if BitBtnLinie.Enabled=false
       then
 begin
Canvas.Pen.Mode:= pmNotXor;
Canvas.MoveTo(Xanfang, Yanfang);
 Canvas.LineTo(Xende, Yende);
 Canvas.MoveTo(Xanfang, Yanfang);
 Canvas.LineTo(X,Y);
Xende:=X;
 Yende:=Y;
end
 else
  begin
 if BitBtnRechteck.Enabled=false then
  begin
Canvas.Pen.Mode:= pmnotxor;
 Canvas.MoveTo(Xanfang,Yanfang);
 Canvas.Rectangle(Xanfang,Yanfang,Xende,YEnde);
  canvas.MoveTo(XAnfang,YAnfang);
Canvas.Rectangle(x,y,XAnfang,YAnfang);
 XEnde:= X;
YEnde:= Y;
end
else
 if BitBtnEllipse.Enabled=false
then begin
Canvas.Pen.Mode:= pmnotxor;
 Canvas.moveTo(Xanfang,Yanfang);
 Canvas.Ellipse(Xanfang,Yanfang,Xende,YEnde);
  canvas.MoveTo(XAnfang,YAnfang);
 Canvas.Ellipse(x,y,XAnfang,YAnfang);
  XEnde:= X;
   YEnde:= Y;
     end
  else if Radiergummi.Enabled=false then
    Canvas.Pen.Color:=clWhite
   end
  end;


Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Beiträge zusammengefasst
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 13.05.07 16:29 
user profile iconJayEff hat folgendes geschrieben:
Bitte schließe ihn gleich so: <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG325c31f0e0126a2d1e861e37051ecec7}</span></span> mit in Delphi-Tags ein.
Bitte ändere das doch einfach, in dem du die user defined image-Taste (bzw. für den Inline-Editor, falls im Profil AJAX aktiviert ist, die user defined image-Taste) rechts oben neben deinem Beitrag benutzt.
Ausserdem: Wir versuchen ein bisschen Übersicht zu waren, darum bitte keine Doppelposts, sondern den Edit-Button benutzen ;) Auch wenn das ein Moderator sicher gleich für dich zusammen fasst ;)

Der Text ist so etwas unleserlich, darum kann ich auch grad nicht direkt einen Fehler erkennen ... Ich vermute aber, dass du mit den if-then-else Abfragen etwas falsch gemacht hast.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 16:32 
Titel: .
wie soll ich das den sonst machen?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 13.05.07 16:40 
Ich habs mal mit dem Delphi-SourceFormatter (Zu finden unter Suche bei Google DELFOREXP ) formatiert:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
    If Mausgedrueckt = true Then
        If BitBTnFrei.Enabled = false Then
            Canvas.LineTo(X, Y)
        Else If BitBtnLinie.Enabled = false Then
        Begin
            Canvas.Pen.Mode := pmNotXor;
            Canvas.MoveTo(Xanfang, Yanfang);
            Canvas.LineTo(Xende, Yende);
            Canvas.MoveTo(Xanfang, Yanfang);
            Canvas.LineTo(X, Y);
            Xende := X;
            Yende := Y;
        End
        Else
        Begin //<--
            If BitBtnRechteck.Enabled = false Then
            Begin
                Canvas.Pen.Mode := pmnotxor;
                Canvas.MoveTo(Xanfang, Yanfang);
                Canvas.Rectangle(Xanfang, Yanfang, Xende, YEnde);
                canvas.MoveTo(XAnfang, YAnfang);
                Canvas.Rectangle(x, y, XAnfang, YAnfang);
                XEnde := X;
                YEnde := Y;
            End
            Else If BitBtnEllipse.Enabled = false Then
            Begin
                Canvas.Pen.Mode := pmnotxor;
                Canvas.moveTo(Xanfang, Yanfang);
                Canvas.Ellipse(Xanfang, Yanfang, Xende, YEnde);
                canvas.MoveTo(XAnfang, YAnfang);
                Canvas.Ellipse(x, y, XAnfang, YAnfang);
                XEnde := X;
                YEnde := Y;
            End
            Else If Radiergummi.Enabled = false Then
                Canvas.Pen.Color := clWhite
        End;

Ich würde sagen, dass da einige Codeteile in den falschen Elses drin sind bzw. zu wenig Ends eingebaut wurden... :gruebel:

Edit: Lade bitte mal dein ganzes Projekt als zip datei hoch. Das müsste ganz einfach per Anhang an deinen Post gehen...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.


Zuletzt bearbeitet von JayEff am So 13.05.07 16:46, insgesamt 2-mal bearbeitet
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 16:42 
Titel: ,
hmm. ja ich kannd as net so beurteilen...
Chryzler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 13.05.07 16:43 
Und ich war wieder so dumm und hab den Source von Hand formattiert. Da kann einiges nicht stimmen:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
procedure TPaint.FormMouseDown(Sender: TObject; Button: TMouseButton; 
Shift: TShiftState; X, Y: Integer); 
begin 
  Mausgedrueckt := true; 
  Xanfang := X; 
  Yanfang := Y; 
  Xende := X; 
  Yende := Y; 
  Canvas.MoveTo(Xanfang, Yanfang); 
end


procedure TPaint.FormMouseMove(Sender: TObject; Shift: TShiftState; X, 
Y: Integer); 
begin 
  if Mausgedrueckt = true then 
    if BitBTnFrei.Enabled = false then 
      Canvas.LineTo(X,Y) 
    else 
      if BitBtnLinie.Enabled = false then 
      begin 
        Canvas.Pen.Mode:= pmNotXor; 
        Canvas.MoveTo(Xanfang, Yanfang); 
        Canvas.LineTo(Xende, Yende); 
        Canvas.MoveTo(Xanfang, Yanfang); 
        Canvas.LineTo(X,Y); 
        Xende := X; 
        Yende := Y; 
      end 
      else 
      begin 
        if BitBtnRechteck.Enabled = false then 
        begin 
        Canvas.Pen.Mode:= pmnotxor; 
        Canvas.MoveTo(Xanfang,Yanfang); 
        Canvas.Rectangle(Xanfang,Yanfang,Xende,YEnde); 
        Canvas.MoveTo(XAnfang,YAnfang); 
        Canvas.Rectangle(x,y,XAnfang,YAnfang); 
        XEnde := X; 
        YEnde := Y; 
      end
  else // <- else? zu welchem if denn???
    if BitBtnEllipse.Enabled = false then
    begin
      Canvas.Pen.Mode:= pmnotxor; 
      Canvas.moveTo(Xanfang,Yanfang); 
      Canvas.Ellipse(Xanfang,Yanfang,Xende,YEnde); 
      Canvas.MoveTo(XAnfang,YAnfang); 
      Canvas.Ellipse(x,y,XAnfang,YAnfang); 
      XEnde := X; 
      YEnde := Y; 
    end 
    else 
      if Radiergummi.Enabled = false then 
        Canvas.Pen.Color := clWhite; 
  end // <- end? zu welchem begin???
end;


Zuletzt bearbeitet von Chryzler am So 13.05.07 16:47, insgesamt 1-mal bearbeitet
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 13.05.07 16:45 
Drum hab ich sie (sry wegen "er" :oops: ) auch gebeten, das Projekt an zuhängen. Ich glaub, ohne kommen wir nicht wirklich weiter. Ich glaube aber, dass da ein Begin zu viel ist. Ich markiere das, welches ich meine, mal in meinem vorigen Post...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 17:00 
okay wir machen das jetzt anders... aknn jemand in diesem programm die funktion frei zeichenn einsetzen udn das er beim zeihen der klinie die noch grau malt?
Einloggen, um Attachments anzusehen!
Chryzler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 13.05.07 17:12 
Wie wäre es, wenn du versuchst die Funktionen selbst zu schreiben, und wenn du ein Problem hast und einen Tipp brauchst, helfen wir dir gerne weiter.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 17:12 
Titel: .
und könnt ihr das?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 13.05.07 17:13 
Das ... hast du nicht selbst geschrieben, oder? :shock: Nicht schlecht, das.
Also normalerweise liefern dir die Wenigsten hier fertigen Quelltext, einfach, weil wir wollen, dass du selbst etwas lernst.
Normalerweise läuft das, wie Chryzler geschrieben hat: Du versuchst es, und wenns nicht klappt, versuchen wir raus zufinden, was du falsch gemacht hast ;)
Blöd nur, dass ich jetzt erstmal eine Weile weg muss :( Aber wir haben hier sehr viele kompetente Menschen, die dir sicher helfen werden ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 17:16 
das könnt ihr mir jetzt net antun..ich habs versucht..ich weiß net wie das geht.. wie sagt man delphi das man frei amlen mlöchte...bitte helft mir..ich verzweifle
Chryzler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: So 13.05.07 17:23 
user profile iconJayEff hat folgendes geschrieben:
Das ... hast du nicht selbst geschrieben, oder? :shock: Nicht schlecht, das.

Das glaube ich eher weniger. Graphex ist ein Beispielprogramm von Borland (BDS\3.0\Demos\DelphiWin32\VCLWin32\Doc\Graphex). :rofl:
user profile iconSummerjam hat folgendes geschrieben:
das könnt ihr mir jetzt net antun..ich habs versucht..ich weiß net wie das geht.. wie sagt man delphi das man frei amlen mlöchte...bitte helft mir..ich verzweifle

Kannst du dich nicht einmal konkret ausdrücken? Sag, was genau dein Programm machen soll, dann sehen wir weiter.
Summerjam
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 13.05.07 17:26 
in dem programm soll sämtliche dateien wie bei paint vorhanden sein.. also man muss frei zeichen könne, rechtecke, linien und kriese zeichen, farbe ausswaählen und gefüllt nicht gefüllt flächen haben..mir fehlt jetzt die das frei zeichen.. udn das wenn er die linine zieht das die dann garu werden.. und nein ich ahbe es net geschreiben..hat ein freudngeschrieben der auch hier im forum ist aber jetzt im urlaub