![]() |
fehler beim einlesen in label
Hallo
ich raffe das hier ned ich bekomme immer den fehler bei dem <--- hier er sagt er kann auf eine adresse nicht zugreifen das macht er aber erst seit dem die abfrage drin ist hat jemand von euch eine idee as da falsch ist Ich lese eine datei ein auf die ich dann die abfrage mache und dann eine bestimmte zeile auslesen
Delphi-Quellcode:
var
FMain: TFMain; my_File: TStringList; LDatum_out, LHandling_out, Lcodeletter_out, Lreturncode_out: array[1..10] of TLabel; Sauswahl: array[1..10] of TImage; file_used: boolean; // Ausgabe Strings Shandling, Suser_time, Scode_letter, Sreturn_code, sfehler: string; found:integer; implementation
Delphi-Quellcode:
Tigermoon
procedure TFMain.Datei_durchsuchen;
var zaehlen, top, j,i,ende:integer; temp, temp1, temp2: string; go: boolean; begin zaehlen := 1; top := 60; go:= false; for i := 1 to my_file.Count -1 do begin //Abfrage auf richtige ziele temp := my_file.Strings[i]; for J := 1 to length(temp) do temp1 := temp1 + Temp[J]; if temp1 = 'java.lang.String userName="'+EUsername.Text+'",' then begin // Zeile des Benutzernamen merken found := my_file.IndexOf(my_file.Strings[i]); // auf Handling zeil prüfen Temp := my_file.Strings[found - 3]; for J := 1 to 36 do temp2 := temp2 + Temp[J]; if temp2 = '(userHandling) userHandlingImpl.java' then begin go := true; end; end; temp1 := ''; temp2 := ''; // verarbeitung der zeile if go then begin // Zeit eintragen Temp := my_file.Strings[found - 32]; for J := 1 to 19 do Suser_time := Suser_time + Temp[J]; Ldatum_out[zaehlen].Caption := Suser_time; Ldatum_out[zaehlen].Top := top; <--- hier Ldatum_out[zaehlen].Width := 130; Ldatum_out[zaehlen].left := Ldatum.left; go := false; end; top := top + 40; zaehlen := zaehlen + 1; Shandling := ''; Suser_time := ''; Scode_letter:= ''; Sreturn_code := ''; end; end; |
Re: Warum ist mein Fehler da wo er ist?
Passiert das auch schon beim ersten Durchlauf oder erst bei späteren Durchläufen? Du überprüfst nämlich nicht ob zaehlen auch innerhalb deiner Array-Grenzen liegt, deswegen könnte es da knallen.
//Edit Schlechtschreibfehler behoben Und was soll dieses Konstrukt?
Delphi-Quellcode:
Ich seh nämlich keinen Unterschied zu
for J := 1 to length(temp) do temp1 := temp1 + Temp[J];
Delphi-Quellcode:
Und diesen hier
temp1 := temp;
Delphi-Quellcode:
müsstest du eigentlich in
found := my_file.IndexOf(my_file.Strings[i]);
Delphi-Quellcode:
verkürzen können, da my_file.Strings[i] bereits über den Index zugreift, du ermittelst also quasi den Index eines Index ;-)
found := i;
|
Re: Warum ist mein Fehler da wo er ist?
Bitte editier deinen ersten Beitrag und wähle ein aussagekräftigeres Topic, danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 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