Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   String erkennen und aufteilen! (https://www.delphipraxis.net/68517-string-erkennen-und-aufteilen.html)

la.reunion 30. Apr 2006 22:06


String erkennen und aufteilen!
 
Hallo,
Ich habe ien kleine aber wichtiges Problem.
Ich möchte eine Abfrage machen in der folgendes abgefragt wird:

Wenn der string mit \\ anfängt soll er in memo2 geschirben werden, ansonsten in memo1.

Wie kann cih das anstellen?

Danke für eure Hilfe

PS:. Wie kann cih den String unterteilen sprich wenn der string \\192.168.0.0 heisst ihn in 4 variablen auteilen
also die erste 192....... usw.

Lg La.Reunion

Matze 30. Apr 2006 22:11

Re: String erkennen und aufteilen!
 
Hi,

zu 1:

Delphi-Quellcode:
if Pos('\\', StringVar) = 1 then
  // "\\" steht am Anfang
zu 2: explodeexplode

la.reunion 30. Apr 2006 22:14

Re: String erkennen und aufteilen!
 
DANKE für die schnelle Antowot!
...was ist mit stringvar gemeint? bzwwas muss ich damit machen?


Lg La.Reunion

EDatabaseError 30. Apr 2006 22:18

Re: String erkennen und aufteilen!
 
Zitat:

Zitat von la.reunion

PS:. Wie kann cih den String unterteilen sprich wenn der string \\192.168.0.0 heisst ihn in 4 variablen auteilen
also die erste 192....... usw.

Lg La.Reunion

explodeexplode

himitsu 30. Apr 2006 22:27

Re: String erkennen und aufteilen!
 
Zitat:

Zitat von la.reunion
...was ist mit stringvar gemeint? bzwwas muss ich damit machen?

für StringVar mußt du einfach nur deine StringVariable einsetzen.

Also
Delphi-Quellcode:
Var S: String;

S := '\\192.168.0.0';
Delphi-Quellcode:
If Pos('\\', S) = 1 Then
  Memo1.Lines.Add(S)
Else
  Memo2.Lines.Add(S);

la.reunion 30. Apr 2006 22:28

Re: String erkennen und aufteilen!
 
mhh das habe ich gemacht mein string ist leider nur danach leer :-(
bzw in memo2 wird immer nur eine leere zeile hinzugefügt


Ist für einen chat das die IP mitgesendet wird

Server:
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  I: integer;
begin
Text:= Socket.ReceiveText;
if Pos('\\',Text) = 1 then
Memo2.Lines.add(Socket.ReceiveText) else
Memo1.Lines.Add(Timetostr(now)+': '+Text);
For i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
with ServerSocket1.Socket.Connections [I] do
if (connected) then SendText(Text);
  end;
end;
Client:
Delphi-Quellcode:
Var
IP : string;
begin
Label3.Caption := IP;
if (ClientSocket1.Active=true) then
ClientSocket1.socket.SendText('\\'+IP);
end;

la.reunion 30. Apr 2006 22:34

Re: String erkennen und aufteilen!
 
AH habs
bei dme code war ein fehler!!!

Bei

if Pos('\\',Text) = 1 then
Memo2.Lines.add(Socket.ReceiveText) else
...muss einfach nur TEXT sein!


Danke für eure antworten!
Lg La.Reunion

PS:. wie kann cih amchen das die zeile beim ausloggen wieder gelöscht wird?

himitsu 30. Apr 2006 22:43

Re: String erkennen und aufteilen!
 
Erstens: dein QuellCode ist echt besh*** formatiert ... kaum zu entziffern.

Zweitens: das "=true" gewöhn dir ganz schnell ab, es kann und wird abundzu zu Problemen führen
denn TRUE ist nicht gleich TRUE

Teste es selber mal
Delphi-Quellcode:
Var B: Boolean;

Begin
  B := True;

  If B = False Then ... // wird nicht ausgelöst
  If B = True Then ... // wird ausgelöst (OK, hier funktioniert es mal)

  If not B Then ...    // wird nicht ausgelöst
  If B Then ...        // wird ausgelöst



  B := Boolean(2); // ist im Grunde auch True, da TRUE <> 0

  If B = False Then ... // wird nicht ausgelöst
  If B = True Then ... // wird auch nicht ausgelöst !!!

  If not B Then ...    // wird nicht ausgelöst
  If B Then ...        // wird ausgelöst



  B := Boolean(0); // oder B := False;

  If B = False Then ... // wird ausgelöst
  If B = True Then ... // wird nicht ausgelöst

  If not B Then ...    // wird ausgelöst
  If B Then ...        // wird nicht ausgelöst
End;
Server:
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  Text: String;
  i: integer;

begin
  Text := Socket.ReceiveText;
  if Pos('\\', Text) = 1 then
    Memo2.Lines.Add(Text)
  else
    Memo1.Lines.Add(TimeToStr(now) + ': ' + Text);
  For i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
    with ServerSocket1.Socket.Connections[i] do
      if connected then SendText(Text);
end;
Client:
Delphi-Quellcode:
Var
  IP: string;

begin
  Label3.Caption := IP;
  if ClientSocket1.Active then
    ClientSocket1.socket.SendText('\\' + IP);
end;
[add]
wo war der Rote Kaste ... Daaaannniiiieeellll?

la.reunion 30. Apr 2006 22:44

Re: String erkennen und aufteilen!
 
Okay mach ich danke!

la.reunion 30. Apr 2006 22:56

Re: String erkennen und aufteilen!
 
Irgendwie hab cih gradn hänger was is heiran falsch?
Es wird nur ncihtsmehr zum memo1 geadded.

Delphi-Quellcode:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
    Textrec : string;
begin
    Textrec:= Socket.ReceiveText;
    Form1.Show;
if not pos('192', Textrec) = 1 then
    Memo1.Lines.Add(Textrec);
end;
Woran liegt das?

Lg La.Reunion


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.
Seite 1 von 2  1 2      

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