[Delphi] Problem mit Programm

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Fr3aKer, 14. Oktober 2008 .

Schlagworte:
  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
     
  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.
     
  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
     
  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)
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.