#1 14. Oktober 2008 Problem mit Programm Ich bin im Moment dabei mit Delphi-Programmierung anzufangen und habe mir ein neues Programm überlegt. wie solch ein programm ist sei mal so dahingestellt, es geht mehr darum neue funktionen auszuprobieren. Und zwar soll man durch die eingabe in die einzelnen Felder, beim klicken auf den button ein batch-code erzeugt werden. Ich habe gleich mehrere Probleme: Hier der Code für den Button: man gibt buchstaben und zahlen in die felder ein, udn dann wird unten im memo-feld der code angezeigt. Zb: Port = 80, Programm = Beispiel.exe, Ranges: 127.0.0.1 127.0.0.255 Optionen: -mercury der ausgabecode sollte dann lauten: beispiel.exe -p 80 127.0.0.1 127.0.0.255 -mercury nun tun sich 2 probleme auf: 1. weiss ich nicht wie ich es anstellen kann das es mir so angezeigt wird (bisher habe ich versucht mich an taschenrechner beispielen zu orientieren was aber fehlgeschlagen ist. und 2. wird mir bereits an der zeile port := IntToStr(Edit2.Text); ein Fehler angezeigt: bin für jede hilfe unendlich dankbar bw is ehrensache + Multi-Zitat Zitieren
#2 14. Oktober 2008 AW: Problem mit Programm Wenn du die Information aus dem editelement haben möchtest, musst du StrToInt benutzen. Du kriegst nämlich einen String aus dem Element und möchtest dieses ja in eine Integer Variable wandeln. Das müsste deinen Fehler eigentlich beheben. + Multi-Zitat Zitieren
#3 14. Oktober 2008 AW: Problem mit Programm Viel zu kompliziert wie du das anstellst. Überlege dir bitte erstmal welche Formate du hier verwenden willst: Bei Delphi sind die Inhalte der Edit-Felder Standardmäßig Strings, also Zeichenketten. Diese wolltest du in deinem Codeabschnitt jetzt alle in Integer, also Zahlen umwanden. Wie wolltest du noch gleich in Zahlen Worte speichern? Lass es so wie es ist: String! Damit verkürzt sich dein Code auf: Code: procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Text := Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text; end; Die Texteigenschaft eines Editfeldes ist wie schon erwähnt ein String. Um dort eingegebene Zahlen Delphi als solche begreiflich zu machen musst du StrToIn(Edit1.Text) anweden: StrToInt= String To Integer -> Zeichenkette in Ganzzahlige Zahl umwandeln Umgekehrt ist es IntToStr, falls du für etwas zwangsweise einen String brauchst, z.B. um an einer bestimmten Position in einer längeren Zahl etwas einzufügen. In Integers lassen sich aber logischerweise keine Buchstaben speichern, so wie du es vorhattest + Multi-Zitat Zitieren
#4 14. Oktober 2008 AW: Problem mit Programm variablen alle als string deklarieren. falls du mit den zahlen später rechnen willst musste die allerdings in integer umwandeln. so kannst strtoint , etc vergessen. ----- wenn du das so machst wie oben, solltest du auch: Port ist int - du willst also von StringWert im Edit den Inhalt in Int wandeln (Dafür muss im Editfeld auch ein Int-fähiger Wert stehen) + Multi-Zitat Zitieren