![]() |
Vergleich ???
Hi
Kann mir mal einer veraten wie ich diesen vergleich herstelle steh gerade auf dem schlauch
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var s,za: String; zz,i: Integer; begin Memo1.Lines.Clear; getConnectionList(Memo1.Lines); for i:=0 to Memo1.Lines.Count-1 do begin zz := Pos(' TCP 127.0.0.1:1092 127.0.0.1:18350 HERGESTELLT', Memo1.Lines[i]); if zz > 0 then begin s:= Copy(Memo1.Lines[i],0,66); Memo2.Lines.add(s); Label3.Caption:= s; za:= IntToStr(zz); Exit; end; if s = zz then begin label4.Caption:= 'Hallo'; end; end; end; Danke schonmal Sascha |
Re: Vergleich ???
Hallo,
was möchtest du denn genau erreichen? Du vergleichst nun die Position (Typ: Integer) mit dem Zeileninhalt (Typ: Sting). Das kann natürlich nicht gehen. |
Re: Vergleich ???
Vielleicht liegt es an der Anzahl der Leerzeichen in den Strings!?! Ein Vorschlag wäre es, jeweils alle Leerzeichen vor dem Vergleich zu eliminieren.
SCRaT |
Re: Vergleich ???
Ah daran liegt das
Naja will soll ich das erklären ich bekomme ja über cmd (getConnectionList(Memo1.Lines);) an diser stelle danke an Klaus01 die liste
Delphi-Quellcode:
jetzt wird diese Pos gefunden mit dem String
Aktive Verbindungen
Proto Lokale Adresse Remoteadresse Status TCP 85.180.211.254:1045 207.46.106.26:1863 HERGESTELLT TCP 127.0.0.1:1092 127.0.0.1:18350 HERGESTELLT TCP 127.0.0.1:1354 127.0.0.1:18350 WARTEND TCP 127.0.0.1:1355 127.0.0.1:18350 WARTEND TCP 127.0.0.1:18350 127.0.0.1:1092 HERGESTELLT
Delphi-Quellcode:
Jetzt würde ich gerne diesen String vergleichen sollange der noch da ist passiert nichts aber wenn die verbindung nicht mehr da ist findet er diesen String ja nicht mehr und dann sol was Passieren
TCP 127.0.0.1:1092 127.0.0.1:18350 HERGESTELLT
|
Re: Vergleich ???
Zitat:
Delphi-Quellcode:
Der Code ist übrigens schneller, wenn du nicht ständig auf die VCL (TMemo) zugreifst, sondern intern beispielsweise eine StringList nutzt und diese beim Vergleich und anderen Operationen durch gehst.
IstDa := false; // eine lokale boolsche Variable
for i := 0 to Memo1.Lines.Count - 1 do begin if Memo1.Lines[i] = ' TCP 127.0.0.1:1092 127.0.0.1:18350 HERGESTELLT' then begin // den String gibt's IstDa := true; break; end; end; if not IstDa then begin // den String gibt's nicht end; Wie Michael vorgeschlagen hat, kann es u.U. besser sein, die Leerzeichen zu entfernen. Habe ich dich nun richtig verstanden? *g* |
Re: Vergleich ???
Ja so soll es sein mit den lehrzeichen enfernen weis ich nicht, nicht das ich noch fehler bekomme weil der string zum verglich nicht mehr stimmt
Zitat:
Muss halt mal gucken wie ich das noch mache |
Re: Vergleich ???
Mir kommt grad noch eine Idee, wie es auch gehen könnte:
Delphi-Quellcode:
if Pos(' TCP 127.0.0.1:1092 127.0.0.1:18350 HERGESTELLT', Memo1.Text) > 0 then
// gibt's else // gibt's nicht |
Re: Vergleich ???
Naja werde ich heuteabend mal ausprobieren wenn das so einfach ist freu ich mich schon
muss jetzt auf einen geburtstag die wird 70 freu mich schon Party :party: :party: :kotz: |
Re: Vergleich ???
Ja das klappt wunderbar jetzt muss ich nur noch das ding in eine Stringlist reinsetzen.
Aber eigentlich ist es egal ob der code schnell ist oder nicht Aber danke nochmal |
Re: Vergleich ???
Nur nochmal ne Frage ist das so richtig
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
Var pt: TPoint; Liste: TStringList; begin Liste := TStringList.Create; getConnectionList(Liste); begin if Pos(' TCP 127.0.0.1:1028 127.0.0.1:18350 HERGESTELLT', Liste.Text) > 0 then begin Label3.Caption:='Ja'; end else begin pt:= Point(Width + 300, Top + 100); Mouse.CursorPos := ClientToScreen(pt) end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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 by Thomas Breitkreuz