AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ignorieren Liste

Ein Thema von Knotti2005 · begonnen am 2. Feb 2006 · letzter Beitrag vom 4. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#1

Ignorieren Liste

  Alt 2. Feb 2006, 20:42
Hallo Leute ich wollte einen Vergleich des Stringes ClientSocket.RemotHost und meiner Listbox1 (Ignorierenliste) also dachte ich mir



Delphi-Quellcode:
if clientsocket.remotehost = form10.listbox1.items.text then
end // es soll nix passieren die ankommende Nachricht soll nicht angezeigt werden

Nun zum Problem wo muss ich den Code bei mir einbauen ich hatte ihn in der Empfangsprozedur schon an unterschiedlichen Stellen ohne Erfolg... ?!

Delphi-Quellcode:
procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  nick: string;
  DataThread: TClientDataThread;
  begin
  // create thread
  DataThread:= TClientDataThread.Create(true);
  // set the TagetList to the gui list that you
  // with to synch with.
  DataThread.TargetList := memRecv.lines;
  // Load the Threads ListBuffer
  nick := ClientSocket.Receiveln;
  s := ClientSocket.Receiveln;
  while s <> 'do
  begin
    DataThread.ListBuffer.Add( nick + '-' + TimeToStr(Time) +'@' + ClientSocket.RemoteHost);
    DataThread.ListBuffer.Add(s);
    s := ClientSocket.Receiveln;
    DataThread.ListBuffer.Add(' ');
    JvTrayIcon1.BalloonHint('Neue Nachricht','Neue Nachricht von ' + nick + ' erhalten.');
  end;
  // Call Resume which will execute and synch the
  // ListBuffer with the TargetList
  DataThread.Resume;
  memrecv.perform( EM_SCROLLCARET, 0, 0 );
If edtRemoteHost.Items.IndexOf (ClientSocket.Remotehost) = -1 Then
begin
  if (Application.MessageBox(
            'Wollen Sie die Absender-IP zu ihrer Empfängerliste hinzufügen?',
            'Neuer Absender',
            MB_YESNO + MB_ICONQUESTION) = ID_YES) then
         begin
            edtremotehost.Items.Add(ClientSocket.Remotehost);
         end
      else
    end
  else
end;


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: Ignorieren Liste

  Alt 2. Feb 2006, 20:45
Ist eigentlich egal wo, weil....

Delphi-Quellcode:
if clientsocket.remotehost = form10.listbox1.items.text then
end // es soll nix passieren die ankommende Nachricht soll nicht angezeigt werden
^^^^^^Das da schlicht Unsinn ist.

Egal ob der Vergleich True oder False ergibt, ausgeführt wird nichts bzw würde der Code dahinter unabhängig vom Ergebnis weitehrin ausgeführt werden, d.h kannst du das auch weglassen

Schau mal nach Hier im Forum suchenExit .

MfG

Und Btw: Man sollt hier nicht den "Wenn auf Ignore, dann..." Fall prüfen, sondern den "Wenn NICHT auf ignore, dann"
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Ignorieren Liste

  Alt 2. Feb 2006, 20:47
So in der Form kann man es garnicht kompilieren. Richtig wäre statt dem end ein exit zu nehmen, wodurch die Prozedur beendet wird. Allerdings sollte man dann aufpassen, dass jeder angeforderte Speicher auch vorher freigegeben wird.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#4

Re: Ignorieren Liste

  Alt 2. Feb 2006, 20:49
Wie meinst du das er soll ja mit der Prozedur nicht fortfahren...
Ich hatte sonst auch immer end genommen?

EDIT: Wo war der rote Kasten?


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Ignorieren Liste

  Alt 2. Feb 2006, 20:51
Lies nochmal mein Beitrag Knotti, ab "btw", hab editiert
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#6

Re: Ignorieren Liste

  Alt 2. Feb 2006, 21:07
Ich hab es jetzt mit

Delphi-Quellcode:
procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  nick: string;
  DataThread: TClientDataThread;
  begin
  if clientsocket.remotehost = form10.listbox1.items.text then
  begin
  exit
  end
  else
  begin
und dazu beim senden noch

Delphi-Quellcode:
procedure TForm1.SendenClick(Sender: TObject);
begin
  TcpClient1.RemoteHost := edtRemoteHost.Text;
  TcpClient1.RemotePort := edtRemotePort.Text;
    if TcpClient1.Connect then
    begin
      TcpClient1.Sendln(edtnickname.Text);
      TcpClient1.Sendln(memSend.text);
    TcpClient1.Disconnect;
    memsend.lines.Clear;
    end
    else
    begin
    TcpClient1.Disconnect;
    memrecv.Lines.Add('FEHLER! - Der Empfänger ist offline!');
    memsend.lines.Clear;
    end
  end;
Das so geändert nun kann ich eine nachricht schreiben wnen ich eine weitere schreibe stürzt das ganz Programmm ab...

Wiemache ich eine Schleife in anderer "Richtung" (if not?)


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Ignorieren Liste

  Alt 2. Feb 2006, 21:14
Statt:

Delphi-Quellcode:
procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  nick: string;
  DataThread: TClientDataThread;
  begin
  if clientsocket.remotehost = form10.listbox1.items.text then
  begin
  exit
  end
  else
  begin
Solltest Du:

Delphi-Quellcode:
procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  nick: string;
  DataThread: TClientDataThread;
begin
  if clientsocket.remotehost <> form10.listbox1.items.text then
  begin
schreiben, da ich nicht weiss wie es weitergeht, kann ich Dir auch nicht mehr schreiben.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: Ignorieren Liste

  Alt 2. Feb 2006, 21:15
Wie meinste das mit "Andere Richtung"? Ich seh nichtmal eine Schleife in irgendeiner Richtung bei Dir.

For ... downto ... do << eine rückwärtslaufende For-Schleife.


Edit: Übrigens weiss ich nciht wieso Du auf "form10.listbox1.items.text" prüfst. Damit prüfst Du nicht jedes einzelne Item der ListBox.

Nur zur Info =)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#9

Re: Ignorieren Liste

  Alt 2. Feb 2006, 21:35
Ich meine ja nicht eine Schleife sondern eine Überprüfung if.. Wenn-Dann
if ... then ...

Oben meinte er doch bei bwt was dann müsste ja

Wenn .. nicht dann ... - if not ... then ... der code dafür sein oder


If form10.listbox1.Items.IndexOf (ClientSocket.Remotehost) = -1 Then Das ist der Code für jeden einzelnen Eintrag oder`?


Ich habe immer viele Ideen.
Meine Ideen = Dinge die die Welt nicht braucht
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Ignorieren Liste

  Alt 3. Feb 2006, 04:26
Hallo, Knotti2005.

Trotz meines fortgeschrrittenen Alters bin ich noch (Programmier)Anfänger und kann Dir bei Deiner Frage leider nicht weiterhelfen. Aber trotzdem hätte ich einen Tipp für Dich:

Zitat:
Nun zum Problem wo muss ich den Code bei mir einbauen ich hatte ihn in der Empfangsprozedur schon an unterschiedlichen Stellen ohne Erfolg... ?!
Mein Vorschlag dazu:

Nun zum Problem: Wo muss ich den Code bei mir einbauen? Ich hatte ihn in der Empangsprozedur schon an unterschiedliche Stellen - ohne Erfolg!

Ich habe den Eindruck, dass es manchmal schwerer ist, die Frage zu lesen, als eine Antwort zu geben. (Trifft auf mich in diesem Fall natürlich nicht zu).

mfg gfjs

PS: Das ist nicht böse gemeint, aber ich gehöre noch zu der "altmodischen" Generationn und finde es schade, wenn mit unserer Sprache allzu nachlässig umgegangen wird.
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.
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