Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Springt nicht in die Schleife (https://www.delphipraxis.net/167310-springt-nicht-die-schleife.html)

Timbuktu 23. Mär 2012 10:29

Springt nicht in die Schleife
 
Hallo liebe DP-Mitglieder,

ich hab da ein Problem. Und zwar bin ich gerade dabei einen Code zu schreiben, der Daten aus einer .txt-Datei auslesen soll und später in eine MySQL Datenbank schreibt.
Momentan hängt es leider dadran, das er die unten aufgeführte if Bedingung zwar anläuft, aber nicht rein springt, obwohl die Bedingungen erfüllt sind :evil: Vor ca 1 Std lief das ganz noch :?:
Wenn ich einen Haltepunkt setze, dann wird er Olivgrün (die werden im Code doch immer übersprungen, soweit ich weiß)
Ich hoffe ihr könnte mir helfen. Benutze Delphi 7

Delphi-Quellcode:
try
  tmpS:= Copy(txt[I],1,4);
  tmpI:= StrToInt(Copy(txt[I],5,5));
  if (tmpS = '   ') and (txt[I,10]= ' ') then
  begin
    CurrentDebNr:= tmpI;
  end;

  I:= I+1;
  Continue;
except
  //Continue;
end;
P.S. Hoffe ihr habt alles, was ihr braucht :)

DeddyH 23. Mär 2012 10:31

AW: Springt nicht in die Schleife
 
Nicht ganz. Wo ist denn die besagte Schleife geblieben?

Timbuktu 23. Mär 2012 10:35

AW: Springt nicht in die Schleife
 
Sry. Ich meinte nicht Schleife, sondern die if Bedingung :oops:

DeddyH 23. Mär 2012 10:40

AW: Springt nicht in die Schleife
 
Wenn der ursprüngliche String mindestens 5 Zeichen hat, wie kann tmpS dann aus nur einem Leerzeichen bestehen, wenn Du die ersten 4 Zeichen kopierst? Oder ist das ein Darstellungsfehler der DP?

p80286 23. Mär 2012 10:42

AW: Springt nicht in die Schleife
 
Also mit der Farbenlehre hab ich es nicht so aber copy(irgendwas,1,4) ist im allg 4 Stellen lang dann ist der Vergleich auf ein Blank höchstwahrscheinlich immer falsch.

Ist aber Spekulation, da ich die Daten nicht kenne.

Und vllt. ist es sinnvoll den Breakpoint vor "if" zu setzen, um auch mal zu kontrollieren was in den Variablen steht

Gruß
K-H

generic 23. Mär 2012 10:42

AW: Springt nicht in die Schleife
 
Die Problematik mit der If-Schleife ist auf dieser Webseite erklärt:
http://www.if-schleife.de/

Timbuktu 23. Mär 2012 10:42

AW: Springt nicht in die Schleife
 
Zitat:

Zitat von DeddyH (Beitrag 1158119)
Wenn der ursprüngliche String mindestens 5 Zeichen hat, wie kann tmpS dann aus nur einem Leerzeichen bestehen, wenn Du die ersten 4 Zeichen kopierst? Oder ist das ein Darstellungsfehler der DP?

Eindeutig ein Darstellungsfehler. Hab eben extra nochmal nach geguckt ^^

Timbuktu 23. Mär 2012 10:44

AW: Springt nicht in die Schleife
 
Zitat:

Zitat von generic (Beitrag 1158121)
Die Problematik mit der If-Schleife ist auf dieser Webseite erklärt:
http://www.if-schleife.de/

Hatte das erst komplett verwechselt, aber vorhin schon geändert :P
"Geändert von Timbuktu (Heute um 11:36 Uhr) Grund: Nicht Schleife, sondern if-Bedingung"

DeddyH 23. Mär 2012 10:45

AW: Springt nicht in die Schleife
 
Dann mal anders: wie sieht so eine Zeile in der Textdatei aus?

Timbuktu 23. Mär 2012 10:52

AW: Springt nicht in die Schleife
 
Zitat:

Zitat von DeddyH (Beitrag 1158124)
Dann mal anders: wie sieht so eine Zeile in der Textdatei aus?

Also die Zeilen sehen unterschiedlich aus. Es müssten insgesamt 9 verschieden Formen vorhanden sein. Durch dieses try except soll überprüft werden ob die Bedingungen für 1 der 9 Formen passen. Diese würde dann z.B. so Aussehen:

"_12345/1___________________1234_30.12.1899_____12_A_1____ _________1.234,56___________________1.234,56______ ____________________12"

Und die, die ich mit diesem Code erkenne will ist dieser Datensatz:

"____12345_ASDF_Movie_GMBH______________________1_ ____________________________123_456_78____________ ___________________"

Leider werden in der DP die ganzen Leerzeichen weg genommen, weswegen ich diese mit "_" ersetzt habe und natürlich hab ich die Daten in willkürliche Daten umgeändert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz