![]() |
Eintrag einfügen egal ob was drin steht oder nicht
Hallo,
endlich komme ich mal wieder zum programmieren und hab schon die ersten Probleme. Irgendwie läuft in meinem Programm nicht mehr viel. Man soll nie aufhören. :wink: Also, mit folgendem Source füge ich Wörter/Zahlen die in Edits sind in einen Record und nschliessend in eine ListView. Da wo der Pfeil ist, bleib ich hängen, der Fehler ist: '' is not a value integer value. Im mom. ist es so, das wenn in jedem der 6 Edits was drin steht, dann geht soweit alles. Es muss aber nur im ersten was drin sein. Ob in den anderen was drin steht ist egal. Wenn ja, dann wird es mit eingetragen und wenn nicht dann ist auch gut. Vielleicht habt Ihr ein paar Tips. Vielen Dank. Grüsse, Daniel :hi:
Code:
[b]procedure[/b] TMainFormMC2004.ButtonKKLokOKClick(Sender: TObject);
[i]//Eingabewerte in den Record und in die Liste aufnehmen -> KK Lok[/i] [b]var[/b] i:integer; [b]begin[/b] [b]if[/b] IDFLok = False [b]then[/b] [i]//Überprüfen ob die ID schon einer Lok zugewiesen ist[/i] [b]begin[/b] [b]if[/b] IDFMtr = False [b]then[/b] [i]//Überprüfen ob die ID schon einer Multitraktion zugewiesen ist[/i] [b]begin[/b] [b]if[/b] [b]not[/b] (EditKKLokID.Text = '') [b]then[/b] [i]//Abfragen ob in jedem Feld was drin steht[/i] [b]begin[/b] SetLength(MC2004.MenueInit.LokStamm, MC2004.MenueInit.LokAnzahl +1); i := MC2004.MenueInit.LokAnzahl; [b]with[/b] MC2004.MenueInit.LokStamm[i] [b]do[/b] [b]begin[/b] LokID := StrToInt(EditKKLokID.Text); LokName := EditKKLokName.Text; LokAdresse := StrToInt(EditKKLokAdresse.Text); <----- LokTraeg := StrToInt(EditKKLokTraeg.Text); LokBeschl := StrToInt(EditKKLokBeschl.Text); LokVerzoeg := StrToInt(EditKKLokVerzoeg.Text); [b]end[/b]; Inc(MC2004.MenueInit.LokAnzahl); ListViewKKLok.Items.Add; [b]with[/b] ListViewKKLok.Items.Item[ListViewKKLok.Items.Count -1] [b]do[/b] [b]begin[/b] Caption:=IntToStr(MC2004.MenueInit.LokStamm[i].LokID); SubItems.Add(MC2004.MenueInit.LokStamm[i].LokName); SubItems.Add(IntToStr(MC2004.MenueInit.LokStamm[i].LokAdresse)); SubItems.Add(IntToStr(MC2004.MenueInit.LokStamm[i].LokTraeg)); SubItems.Add(IntToStr(MC2004.MenueInit.LokStamm[i].LokBeschl)); SubItems.Add(IntToStr(MC2004.MenueInit.LokStamm[i].LokVerzoeg)); SubItems.Add(IntToStr((ListViewKKLok.Items.Count -1) +1)); [b]end[/b]; [b]end[/b]; [b]end[/b] [b]else[/b] [b]begin[/b] ShowMessage('Die ID ist bereits einer Multitraktion zugewiesen!'); [b]end[/b]; [b]end[/b] [b]else[/b] [b]begin[/b] ShowMessage('Die ID ist bereits einer Lok zugewiesen!'); [b]end[/b]; ColumnToSort := 0; ListViewKKLok.AlphaSort; EditKKLokID.Clear; EditKKLokName.Clear; EditKKLokAdresse.Clear; EditKKLokTraeg.Clear; EditKKLokBeschl.Clear; EditKKLokVerzoeg.Clear; EditKKLokID.SetFocus; Check; [b]end[/b]; |
Hallo Daniel,
Nimm' doch "StrToIntDef". Dieser Funktion kannst Du einen Standard-Wert übergeben, der genutzt wird, falls der gegebene String nicht in einen Integer-Wert konvertiert werden konnte (z.B. Leerstring). :firejump: Greeeeeeeeeeeeetz, DrDangerous |
Hallo DrDangerous,
das war genau das was ich suchte. Ich dachte schon an irgend welchen if abfragen, wo ich dann Standardwerte setze, aber das war genau richtig. :hello: :bounce2: Danke Dir. Grüsse, Daniel :hi: |
Hallo Daniel,
Dir helfen zu können war mir eine Freude und Ehre zugleich. :firejump: Greeeeeeeetz, DrDangerous |
Programmierst du ein Prog für das Edits System von Elektor oder für das Märklin System?
|
Zitat:
wie kommt das denn? :shock: Grüsse, Daniel :hi: |
Zitat:
eigentlich für Selectrix. Grüsse, Daniel :hi: |
Ach so, und ich dachte schon du hättest mir arbeit abgenommen :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz