![]() |
Re: [GELÖST] string durchsuchen
Zitat:
|
Re: [GELÖST] string durchsuchen
also so?
Delphi-Quellcode:
procedure TForm2.Button5Click(Sender: TObject);
var i:integer; begin for i := 0 to RichEdit1.Lines.Count - 1 do begin Button5.Caption := RichEdit1.Lines[i]; Application.ProcessMessages; if Pos('schritt', AnsiLowerCase(RichEdit1.Lines[i])) > 0 then begin Button1.Click ; Application.ProcessMessages; sleep(200); end; if Pos('linksdrehen', AnsiLowerCase(RichEdit1.Lines[i])) > 0 then begin Button3.Click; Application.ProcessMessages; sleep(200); end; if Pos('rechtsdrehen', AnsiLowerCase(RichEdit1.Lines[i])) > 0 then begin Button4.Click; Application.ProcessMessages; sleep(200); end; end; end; |
Re: [GELÖST] string durchsuchen
OK, dann auf Nummer Sicher:
Delphi-Quellcode:
[edit] StringEnthalten muss natürlich eine Funktion sein :angel2: [/edit]
procedure TForm2.Button5Click(Sender: TObject);
var i:integer; function StringEnthalten(const SubStr, Str: string): Boolean; begin Result := Pos(AnsiLowerCase(SubStr), AnsiLowerCase(Str)) > 0; end; begin for i := 0 to RichEdit1.Lines.Count - 1 do begin Button5.Caption := RichEdit1.Lines[i]; Application.ProcessMessages; if StringEnthalten('schritt',RichEdit1.Lines[i]) then Button1.Click else if StringEnthalten('Linksdrehen', RichEdit1.Lines[i]) then Button3.Click else if StringEnthalten('Rechtsdrehen', RichEdit1.Lines[i]) then Button4.Click; sleep(600); //auf jeden Fall Zeit zum Gucken geben end; end; |
Re: [GELÖST] string durchsuchen
Na das iss doch was :thumb:
|
Re: [GELÖST] string durchsuchen
so herum klappts:
Delphi-Quellcode:
function StringEnthalten(const SubStr, Str: string): Boolean;
begin Result := Pos(AnsiLowerCase(SubStr), AnsiLowerCase(Str)) > 0; end; procedure TForm2.Button5Click(Sender: TObject); var i:integer; begin for i := 0 to RichEdit1.Lines.Count - 1 do begin Button5.Caption := RichEdit1.Lines[i]; Application.ProcessMessages; if StringEnthalten('schritt',RichEdit1.Lines[i]) then Button1.Click else if StringEnthalten('linksdrehen', RichEdit1.Lines[i]) then Button3.Click else if StringEnthalten('rechtsdrehen', RichEdit1.Lines[i]) then Button4.Click else if StringEnthalten('umdrehen', RichEdit1.Lines[i]) then begin Button4.Click; Button4.Click; end; sleep(200); end; end; |
Re: [GELÖST] string durchsuchen
Was meinst Du mit "so herum"?
|
Re: [GELÖST] string durchsuchen
Die Funktion müsste auch "andersrum" also im Deklarationsteil der Funktion Prozedur funktionieren.
Und nun musst du die Strings nicht mehr alle klein schreiben. Es schadet natürlich auch nicht, aber Deddy hat die Funktion so umgeschrieben, dass beide Parameter "verkleinert" werden. Welcher Fehler kam denn bzw. was ging nicht? |
Re: [GELÖST] string durchsuchen
Zitat:
---- aber wie mache ich das, wenn ich wie bei "while" eine "solange"-schleife einbauen will? Also wenn er "solange" findet (soll so ne art mini-programmier-sprache werden: solange xxx tue ...*solange), soll er prüfen, ob das was dahinter steht wahr ist (klar) und dann weiter machen und wieder zurückspringen (alles soweit klar). wenn aber es nicht wahr ist, muss er ja zum nächsten *solange gehen, ohne die for schleife neu zu beginnen, da das darin dann ja nicht ausgeführt werden soll. Ich dachte erst daran, das "i:=i+1;" hinter die solange-abfrage zu setzten und zu suchen, also den "else if StringEnthalten('xxx', RichEdit1.Lines[i]) then xxx"-Block nicht zu verlassen. Aber i:=i+1; geht bei for ja nicht... |
Re: [GELÖST] string durchsuchen
Wenn ich Dich richtig verstanden habe, meinst Du
![]() |
Re: [GELÖST] string durchsuchen
wo sollte ich das hinsetzen?
P.S.: Eig. könnte ich aus der for-schleife auch wieder eine While-Schleife machen, dann gings |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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