Autor Beitrag
Riddig
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 27.08.08 15:58 
Hey Leute. ich bin Delphi Anfänger, habe früher ei9n bisschen mit Visual Basic gearbeitet, aber es gibt schon ein paar Unterschiede.

Ich bin gerade dabei soeine Art paint zu machen.

Jetzt soll jemand Zahlen in Textfelder eingeben. Diese zahlen, sollen dann die Positionen für ein Strich sein, den der PC dann in einer Imagebox zeichnen soll. ich zeigs euch mal:

im prinzip so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button17Click(Sender: TObject);
begin

image1.canvas.LineTo (edit1.text,edit2.text) ;
image1.canvas.moveto (edit3.text,edit4.text) ;

end;


Wie geht das, dass delphi diese Infos aus dem Textfeld verarbeiten kann? Ich ahne nur von VB5, dass man irgendwo eine Deklaration vornehmen muss...aber keine Ahnung.

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mi 27.08.08 16:01 
Delphi unterscheidet strikt zwischen unterschiedlichen Typen. Daher musst Du den Text mit Hilfe von StrToInt (String To Integer) erst entsprechend umwandeln. ;)
Das Gegenteil wäre IntToStr. Für Fließkommazahlen heißt lauten die Begriffe FloatToStr bzw. StrToFloat.
Riddig Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 27.08.08 16:18 
ok danke, das habe ich soweit verstanden, aber wo wandle ich das um also wo setze ich dieses StringtoInteger denn um???? und wie genau heißt dieser befehl??
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 27.08.08 16:22 
du suchst dir einfach einen string aus (zeichenkette) und setzt den in klammern. davor schreibst du noch IntToStr. IntToStrDef schaut ob man den string umwandeln kann, wenn nicht, dann nimmt es die zahl die du als zweiten parameter angegeben hast.

und aussehen tut das ganze ungefähr so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button17Click(Sender: TObject); 
begin 
image1.canvas.LineTo(IntToStrDef(edit1.text, 0),IntToStrDef(edit2.text, 0)) ; 
image1.canvas.moveto(IntToStrDef(edit3.text, 1),IntToStrDef(edit4.text, 1)) ; 
end;


lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mi 27.08.08 16:22 
In Deinem Beispiel so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button17Click(Sender: TObject);
begin
  image1.canvas.LineTo (IntToStr(edit1.text), IntToStr(edit2.text));
  image1.canvas.moveto (IntToStr(edit3.text), IntToStr(edit4.text));
end;

Ich empfehle Dir übrigens zum einen eine Paintbox zu nehmen, die für solche Dinge auch da ist (Images dienen zum anzeigen statiger Bilder) und zum anderen mal einen Blick in das Tutorial von unserm user profile iconChristian zu werfen. ;)
Riddig Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 27.08.08 16:29 
okay, vielen vielen dank für die schnelle hilfe klappt alles