Autor |
Beitrag |
florida
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: So 27.06.10 07:35
Nochmal:
Ich wollte ja vor kurzer Zeit einen sehr einfachen Scanner auf meine eigene Art und Weise programmieren.
Hier nochmal der Quelltext:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| ParserLbl.Caption := '0'; for I := 0 to Editor.Lines.Count - 1 do begin if Editor.Lines[I] = 'text' then begin Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0); ParserLbl.Caption := '1'; end; ParserLbl.Caption := '0'; if Editor.Lines[I] = 'caption' then begin Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0); ParserLbl.Caption := '1'; end; if parserlbl.Caption = '1' then begin line := sendmessage(handle, EM_LINEFROMCHAR, charpos, 0); ausgabememo.Lines.Add(IntToStr(line)); end; |
Hier soll die erste Zeile gelesen werden. Falls dort "text" steht, soll beim ParserLbl 1 angezeigt werden, damit das Programm weiß, dass die Syntax korrekt ist. Falls dort 1 steht, muss eine Zeile runtergescrollt werden, wobei dort ebenfalls überprüft wird, ob die Syntax von bspw. caption richtig ist. Sollte es erneut korrekt sein, wird wieder die Zahl 1 angezeigt und runtergescrollt. Und falls erneut beim ParserLbl die 1 steht, muss der Text von der entsprechenden Zeile in ein anderes Memo übertragen werden.
--- Moderiert von Narses: Beiträge zusammengefasst---
Kurze Anmerkung:
ParserLbl muss nach jedem Befehl auch immer auf 0 umschalten, da es ja möglich wäre, dass das nächste Befehl falsch ist.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 27.06.10 08:17
florida hat folgendes geschrieben : | Falls dort "text" steht, soll beim ParserLbl 1 angezeigt werden, damit das Programm weiß, dass die Syntax korrekt ist. |
Das Programm?!?
Ein Label ist zur Anzeige für den Benutzer.
Wenn es nur um die Verarbeitung durch das Programm geht: Wie wäre es mit einer simplen Variable...
florida hat folgendes geschrieben : | Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| if Editor.Lines[I] = 'text' then begin Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0); ParserLbl.Caption := '1'; end; ParserLbl.Caption := '0'; | |
|
|
florida 
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: So 27.06.10 14:01
Zitat: | // wozu, du setzt die Caption doch direkt nach dem Befehl ohnehin wieder auf 0... |
Wie schon beschrieben, könnte es ja möglich sein, dass das "caption" hinterher falsch geschrieben worden ist und sonst bleibt ja die 1 trotz falscher Syntax stehen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 27.06.10 14:19
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mo 28.06.10 10:41
Hi, florida
Du machst ein neuen Thread auf um zu erklären wie Dein Projekt funktionieren soll/möchte!
Dabei gibst Du nur den selben Code an wie schon im letzten Thread
Schon Diskutiert man wieder über Sinn und Unsinn mit Deinem Labels!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| ParserLbl.Caption := '0'; for I := 0 to Editor.Lines.Count - 1 do begin if Editor.Lines[I] = 'text' then begin Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0); ParserLbl.Caption := '1'; end; ParserLbl.Caption := '0'; if Editor.Lines[I] = 'caption' then begin Editor.Perform(WM_VSCROLL, SB_LINEDOWN, 0); ParserLbl.Caption := '1'; end; if parserlbl.Caption = '1' then begin line := sendmessage(handle, EM_LINEFROMCHAR, charpos, 0); ausgabememo.Lines.Add(IntToStr(line)); end; |
Du gehst jetzt nur von 2 Suchbegriffen aus! Wie willst Du es bei <2^x machen? Mal darüber nachgedacht!!!!
Du solltest diese Antworten -hier-, erstmal richtig durchlesen und dann darauf, oder jetzt hier, Antworten!
Du hast dich in eine Sache verbissen, die man Effektiver lösen kann, steht auch schon im alten Thread drin!
Schade
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
|