Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wort in einem String suchen (https://www.delphipraxis.net/3065-wort-einem-string-suchen.html)

Pseudemys Nelsoni 21. Feb 2003 00:58


Wort in einem String suchen
 
moinmoin,

also ich möchte ein Wort aus einem String suchen...ok das wär nicht schwer wenn die wörter da vor nicht variieren würden...also sagen wir mal so

bla1 bla2 bla3 bla4 bla5

sagen wir mal ich würde prüfen ob bla4 und bla 5 existieren...
dan würd ichs so machen : if copy(string, 16, 9) then ...

da aber die wörter bla 1,2 und 3 verschieden lang sei können, weiss ich nicht wie ich an die beiden letzteren rankommen kann

hoffe ihr versteht was ich meine

gruss mario

Mirilin 21. Feb 2003 05:16

vielleicht hilft dir die Funktion
pos()

Delphi-Quellcode:
if (pos(bla5,s)>0) and (pos(bla6,s)>0) then
begin
  ...
end;
Zitat:

Die Funktion Pos gibt den Indexwert des ersten Zeichens innerhalb des angegebenen Teil-Strings zurück, der in einem String vorkommt.

Unit

System

Kategorie

String-Verarbeitung

function Pos(Substr: string; S: string): Integer;

Beschreibung

Pos sucht in dem String S nach dem Teil-String Substr. Die Parameter Substr und S sind String-Ausdrücke.

Wird der Teil-String gefunden, gibt Pos den Integer-Index des ersten Zeichens von Substr in S zurück. Die Groß/Kleinschreibung wird von Pos nicht berücksichtigt. Ist Substr nicht vorhanden, wird der Wert Null zurückgegeben.

Pseudemys Nelsoni 21. Feb 2003 10:29

danke das hat mir schonmal weitergeholfen :)

hab dazu noch ne frage und zwar, wie kann ich das letzte Wort eines Strings rauskopieren... das letzte wort kann beliebig lang sein, und ich weiss nicht wie der string überhaupt aussieht...

:ChanServ!services@euirc.net MODE #tiberiansun +a HIERDERNICK


^^^^ da möcht ich das letzte rauskopieren, also den nick. kann mir nur vorstellen das ich das machen kann, indem ich angebe das der dick nach 4 leertasten anfängt (wie das geht weiss ich leider nicht). wo der nick allerdings aufhört weiss ich auch nicht, da er ja beliebig lang sein kann

kann mir das auch noch jemand erklären?

gruss mario

Luckie 21. Feb 2003 10:53

Les dir noch mal durch, was dir hier freundlicherweise aus der Hilfe zitiert wurde. Insbesondere der Letzte Absatz sollte dich interessieren.

(Die Länge eines Strimgs bekommst du mit length.)

nailor 21. Feb 2003 15:23

Vorrausgesetzt es sind keine Leerzeichen erlaubt:

such das letzte Leerzeichen (von hintersten Zeichen aus jedes Zeichen testen), und kopiere alles dahinter mit copy().

Pseudemys Nelsoni 21. Feb 2003 19:09

@Luckie

wenn ich den ganzen string zähle, dann weiss ich aber trotzdem nicht wie lang das letzte wort davon ist

@Neilor:

wie kann ich das denn machen das alles ab dem letzten Space kopiert wird?

gruss :)

Touchdown 21. Feb 2003 19:46

Lass dir was einfallen.

Z.B. mach dir ne kleine Funktion die mit downto arbeitet und nach einem leerzeichen sucht ...

Pseudemys Nelsoni 21. Feb 2003 20:41

jo wenn ich wüsste wies geht würd ich ja hier nichtposten bzw fragen

ich weiss das es einfach ist, für mich aber nicht

gruss^^

nailor 21. Feb 2003 22:46

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  test: string = 'hallo du!';
var
  i: integer;
begin
for i := length(test) downto 1 do
  begin
    if test[i] = ' ' then
      begin
        Button1.Caption := Copy(test,i,length(test)-i+1);
        break;
      end;
  end;
end;

Christian Seehase 22. Feb 2003 02:13

Moin Zusammen,

wobei es für diese Suche bereits eine Funktion gibt, nämlich LastDelimiter. Mit der sähe das dann so aus:

Delphi-Quellcode:
procedure TfrmMAIN.Button1Click(Sender: TObject);
const
  test: string = 'hallo du!';
begin
  Button1.Caption := copy(test,LastDelimiter(' ',test)+1,length(test));
end;
Wenn auch andere Zeichen als Trennzeichen gültig sein sollen, kann man statt des Blanks auch eine ganze Liste von Zeichen angeben.

Pseudemys Nelsoni 22. Feb 2003 05:35

genau das was ich brauche, danke an alle :)

Pseudemys Nelsoni 22. Feb 2003 18:58

Delphi-Quellcode:
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: String; var Suppress: Boolean);
var
  s: string;
  i: integer;
begin
  acontent := copy(acontent,LastDelimiter(' ', acontent)+1, length(acontent));
  if POS('+a', acontent) > 0 then
    begin
      for i := 0 to listbox1.Items.IndexOf(acontent) do
        begin
          sl1.AddObject(acontent, image10.Picture.Bitmap);
          sl2.Delete(i);
          listbox1.Clear;
          listbox1.Items.AddStrings(sl1);
          listbox1.Items.AddStrings(sl2);
        end;
    end;
    if POS('-a', acontent) > 0 then
      memo1.Lines.Add('jo');
end;
das 1. funzt wunderbar, aber das:

"if POS('-a', acontent) > 0 then
memo1.Lines.Add('jo');"

nicht, obwohl bei einem event "-a" vorkommt, wenn ich den ganzen oberen teil lösche und nur das

"if POS('-a', acontent) > 0 then
memo1.Lines.Add('jo');"

nehme gehts. Ist da was falsch dran?

btw: sl1 und sl2 sind zwei globale Stringlists

edit: color geht wohl nicht in nem delphiquote... lass es aber drin damit man weiss was gemeint is

gruss

Christian Seehase 23. Feb 2003 01:55

Moin Silent,

nach dieser Zeile

Delphi-Quellcode:
acontent := copy(acontent,LastDelimiter(' ', acontent)+1, length(acontent));
enthält acontent nur noch das, was nach dem letzten Blank in acontent gestanden hat, als es übergeben wurde.

Lass Dir doch einfach mal nach der o.g. Zeile mit ShowMessage ausgeben, was noch in acontent steht.

Pseudemys Nelsoni 23. Feb 2003 04:06

hallo christian, danke für die antwort !

hab das geändert in:

Delphi-Quellcode:
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: String; var Suppress: Boolean);
var
  Mode, Nick: string;
  Counter: integer;
begin
  Mode := Copy(acontent, 14, 2);
  Nick := Copy(acontent, LastDelimiter(' ' , acontent)+1, length(acontent));
  if Mode = '+a' then
  begin
    for Counter := 0 to Listbox1.Items.IndexOf(Nick) do
    begin
      sl2.Delete(Counter);
      sl1.AddObject(Nick, image10.Picture.Bitmap);
      listbox1.Clear;
      listbox1.Items.AddStrings(sl1);
      listbox1.Items.AddStrings(sl2);
    end;
  end;
  if Mode = '-a' then
  begin
    for Counter := 0 to listbox1.Items.IndexOf(Nick) do
    begin
      sl1.Delete(Counter);
      sl2.AddObject(Nick, image11.Picture.Bitmap);
      listbox1.Clear;
      listbox1.Items.AddStrings(sl1);
      listbox1.Items.AddStrings(sl2);
    end;
  end;
end;
geht aber noch immer nicht...also is bisschen schwer zu sehen was das sein soll....also es geht darum das ich beim dem mode "+a"(Admin)
den Nick aus der TStringlist2(Reg User) in die TStringList1(Admins) tue und von da aus in die Stringlist. Die Admins haben ein object(kleines bildchen) vor dem nick wenn ich aber "-a" mache passiert irgendwie gar nichtsalso user hat immer noch das object vor dem nick und is auch noch immer in StringList1.

"for Counter := 0 to listbox1.Items.IndexOf(Nick) do" müsste es hinten vielleicht heissen IndexOfObject? (habs schon probiert geht aber auch nicht. Reicht es überhaupt wenn ich den String aus der listbox lösche oder muss man auch das object davor extra löschen?

gruss mario

Christian Seehase 23. Feb 2003 12:29

Moin Mario,

was mir nicht so ganz klar ist:
Warum löscht Du alles bis zu dem Nick, löscht dann die gesamte ListBox, und fügst wieder beide Stringlisten hinzu?
Das geht ganz erheblich an die Resourcen.

Warum nicht:

Delphi-Quellcode:
// Beispiel
if sl2.IndexOf(Nick) > -1 then
begin
  sl2.Delete(sl2.IndexOf(Nick));
  sl1.AddObject(Nick,image10.Picture.Bitmap);
end;
Was die Objekte angeht:
Die werden bei Delete mit aus der Liste entfernt, und bei AddStrings auch mitgenommen.

Pseudemys Nelsoni 23. Feb 2003 20:38

hallo christian,

ich benutze 2 stringlists (sorted) und füge sie in die listbox ein, die erste stringlist1(die admins) dann stringlist2(die regs). wenn ich alle direkt in die listbox packen würde wären admins und regs verteilt, z.b wär ein admin mit "Z" ganz unten und da ich alles von den strnglists nehme muss ich ja die listbox löschen oder nicht gibts da n anderen weg?
Ich könnte das so machen wie in deinem beispiel aber dann müsst ich das auch mit der stringlist machen, damit sie auch "aktuell" ist. =)

falls du das meinst mit nick löschen: "Nick := Copy(acontent, LastDelimiter(' ' , acontent)+1, length(acontent));"

jo ich muss ja den nick aus dem string finden, der ist ganz am ende als letztes wort

gruss mario ^^

e-dancer 24. Feb 2003 17:08

versuchs mit stringreplace()

Pseudemys Nelsoni 26. Feb 2003 05:44

thx edancer werde das mal versuchen, zuvor noch eins...ich erhalte immer einen fehler:

http://www.united-coding.de/fehler.jpg

der code an dem ganzen ist:

Delphi-Quellcode:
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: String; var Suppress: Boolean);
var
  Mode, Nick: string;
  Counter: integer;
  bmp: TBitmap;
begin
  Mode := Copy(acontent, 14, 2); // Nick aus "acontent" auslesen
  Nick := Copy(acontent, LastDelimiter(' ' , acontent)+1, length(acontent)); // Mode aus "acontent" auslesen
  if Mode = '+a' then // Wenn mode "+a" ist
  begin
    for Counter := 0 to Listbox1.Items.IndexOf(Nick) do
    begin
      sl2.Delete(Counter); // Stringlist(sl2) löschen
      sl1.AddObject(Nick, image10.Picture.Bitmap); // String "Nick" mit Bild zur Stringlist(sl1) hinzufügen
      listbox1.Clear; // Listbox1 Strings löschen
      listbox1.Items.AddStrings(sl1); // Strings aus Stringlist(sl1) der Listbox1 hinzufügen
      listbox1.Items.AddStrings(sl2); // Strings aus Stringlist(sl2) der Listbox1 hinzufügen
    end;
  end;
  if Mode = '-a' then // Wenn mode "-a" ist
  begin
    for Counter := 0 to listbox1.Items.IndexOf(Nick) do
    begin
      sl1.Delete(Counter); // Stringlist(sl1) löschen
      sl2.AddObject(Nick, image11.Picture.Bitmap); // String "Nick" mit Bild zur Stringlist(sl2) hinzufügen
      listbox1.Clear; // Listbox1 Strings löschen
      listbox1.Items.AddStrings(sl1); // Strings aus Stringlist(sl1) der Listbox1 hinzufügen
      listbox1.Items.AddStrings(sl2); // Strings aus Stringlist(sl2) der Listbox1 hinzufügen
    end;
  end;
end;
woher kommt dann der fehler?

gruss silent

janjan 26. Feb 2003 07:51

Änder mal beide
Delphi-Quellcode:
for Counter := 0 to Listbox1.Items.IndexOf(Nick)
in
Delphi-Quellcode:
for Counter := 0 to Listbox1.Items.IndexOf(Nick)-1
Das könnte eventuell der fehler sein.

janjan 26. Feb 2003 07:58

Bzw. kommt mir dein Code komisch vor, speziell das hier:
Delphi-Quellcode:
for Counter := 0 to Listbox1.Items.IndexOf(Nick) do
    begin
      sl2.Delete(Counter); // Stringlist(sl2) löschen
      sl1.AddObject(Nick, image10.Picture.Bitmap); // String "Nick" mit Bild zur Stringlist(sl1) hinzufügen
      listbox1.Clear; // Listbox1 Strings löschen
      listbox1.Items.AddStrings(sl1); // Strings aus Stringlist(sl1) der Listbox1 hinzufügen
      listbox1.Items.AddStrings(sl2); // Strings aus Stringlist(sl2) der Listbox1 hinzufügen
    end;
Sollte das listbox1.clear nicht vor der for-Schleife stehen?

Ich versteh nicht so ganz was du da machst. Du löschst ListBox1, fügst ein paar Strings hinzu, löschst Listbox1, fügst ein paar Strings hinzu, löschst Listbox1...

Könntest du das mal genauer erklären?

Pseudemys Nelsoni 26. Feb 2003 08:43

also es geht um ein irc client, bei dem raw event "#chan +mode nick"(acontent) nehm ich den mode(um zu sehen welcher mode es ist, z.B wie hier "+a") und den nick(für die listbox) raus

Es gibt 2 Stringlists, in dem einen sind die Admins, indem anderen die regulären Nicks. (btw: ich benutze 2 stringlists, weil wenn ich nur die listbox nehmen würde und auf sorted = true, wärendie nicks zwar nach alphabet geordnet, aber nicht nach admins dann reg nicks)

Sagen wir mal ich setze irgendeinen Nick "+a" dann muss ich ja den Nick auf den sich das +a bezieht aus der Stringlist(sl2(reguläre Nicks)) entfernen, in die andere Stringlist(sl1(admins)) hinzufügen. Dann lösche ich die Listbox und füge erst die Strings aus Stringlist1 zur Listbox hinzu, dann aus Stringlist2.

Das gleiche für -a

weisst wie ich das meine? wenns einen leichteren weg gibt bitte sagen :)

danke für die antwort janjan

janjan 26. Feb 2003 09:12

Dein Fehler müsste da liegen:
Delphi-Quellcode:
for Counter := 0 to listbox1.Items.IndexOf(Nick) do
Du willst doch die Position von Nick in sl1 oder sl2 wissen und nicht in Listbox1.

Ich hätte das ohne Schleife gelöst (bin mir aber nicht sicher ob das so klappt):
Delphi-Quellcode:
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: String; var Suppress: Boolean);
var
  Mode, Nick: string;
  Counter: integer;
  bmp: TBitmap;
begin
  Mode := Copy(acontent, 14, 2); // Nick aus "acontent" auslesen
  Nick := Copy(acontent, LastDelimiter(' ' , acontent)+1, length(acontent)); // Mode aus "acontent" auslesen
  if Mode = '+a' then // Wenn mode "+a" ist
  begin
    sl2.Delete(s12.Items.IndexOf(Nick));
    sl1.AddObject(Nick, image10.Picture.Bitmap);
    ListBox1.Clear;
    listbox1.Items.AddStrings(sl1);
    listbox1.Items.AddStrings(sl2);
  end;
  if Mode = '-a' then // Wenn mode "-a" ist
  begin
    sl1.Delete(s11.Items.IndexOf(Nick));
    sl2.AddObject(Nick, image10.Picture.Bitmap);
    ListBox1.Clear;
    listbox1.Items.AddStrings(sl1);
    listbox1.Items.AddStrings(sl2);
  end;
end;

Pseudemys Nelsoni 26. Feb 2003 13:07

der code funzt soweit, aber beim "deAdminen" passiert nichts, also der string bleibt in der listbox, das prob hat ich auch mit meinem "code"

wieso wird das nicht gelöscht?

gruss =)

btw: thx für den code

janjan 26. Feb 2003 13:19

Kuck mal welcher Wert in der Titelleiste für s11.Items.IndexOf(Nick) und für Nick steht. Ich vermute mal das es da Probleme gibt. (Form1 musste noch an dein Formnamen anpassen)

Delphi-Quellcode:
 
  if Mode = '-a' then // Wenn mode "-a" ist
  begin
    Form1.Caption:='Nick: '+Nick+' Index of Nick: '+inttostr(s11.Items.IndexOf(Nick));
    sl1.Delete(s11.Items.IndexOf(Nick));
    sl2.AddObject(Nick, image10.Picture.Bitmap);
    ListBox1.Clear;
    listbox1.Items.AddStrings(sl1);
    listbox1.Items.AddStrings(sl2);
  end;

Pseudemys Nelsoni 26. Feb 2003 14:17

hab das ins memo einfügen lassen, da ich keine titelleiste hab und da kam:

"Nick: tsc_user Index of Nick: 1"

^^^^

ist das richtig? ;)

gruss mario

janjan 26. Feb 2003 15:41

Komisch, das sollte eigentlich richtig sein. Ich mach jetzt Feierabend und kuck mir das nachher nochmal an...

Pseudemys Nelsoni 27. Feb 2003 04:30

also so:

Delphi-Quellcode:
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: String; var Suppress: Boolean);
var
  Mode, Nick: string;
  counter: integer;
begin
  Mode := Copy(acontent, 14, 2); // Nick aus "acontent" auslesen
  Nick := Copy(acontent, LastDelimiter(' ' , acontent)+1, length(acontent)); // Mode aus "acontent" auslesen
  if Mode = '+a' then // Wenn mode "+a" ist
  begin
    sl2.Delete(sl2.IndexOf(Nick));
    sl1.AddObject(Nick, image10.Picture.Bitmap);
    ListBox1.Clear;
    listbox1.Items.AddStrings(sl1);
    listbox1.Items.AddStrings(sl2);
  end;
  if Mode = '-a' then // Wenn mode "-a" ist
  begin
    for Counter := 0 to sl1.Count-1 do
    begin
      if sl1.Strings[Counter] = Nick then
      begin
        sl1.Delete(Counter);
        sl2.AddObject(Nick, image11.Picture.Bitmap);
        Listbox1.Clear;
        Listbox1.Items.AddStrings(sl1);
        Listbox1.Items.AddStrings(sl2);
      end;
    end;
  end;
end;
funktionierts jetzt :)

danke an alle ;)

Pseudemys Nelsoni 27. Feb 2003 05:14

allerdings wenn ich das für das OnPart event nehme...

Delphi-Quellcode:
procedure TForm1.IdIRC1Part(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
var Counter: integer;
begin
for Counter := 0 to sl1.Count-1 do
  begin
    if sl1.Strings[Counter] = auser.Nick then
    begin
      sl1.Delete(Counter);
      Listbox1.Clear;
      if sl1.Count > 0 then
      begin
        Listbox1.Items.AddStrings(sl1);
      end;
      if sl2.Count > 0 then
      begin
        Listbox1.Items.AddStrings(sl2);
      end;
    end;
  end;
for Counter := 0 to sl2.Count-1 do
  begin
    if sl2.Strings[Counter] = auser.Nick then
    begin
      sl2.Delete(Counter);
      Listbox1.Clear;
      if sl1.Count > 0 then
      begin
        Listbox1.Items.AddStrings(sl1);
      end;
      if sl2.Count > 0 then
      begin
        Listbox1.Items.AddStrings(sl2);
      end;
    end;
  end;
end;
steht da immer wenn ein regulärer nick(sl2) leavt "ListenIndex überschreitet das Maximum(1)" << was heisst das?

gruss mario

janjan 27. Feb 2003 07:07

Du müsstest die Suche mit einer while Schleife machen, nicht mit einer for Schleife. Angenommen deine Liste enthält 6 Einträge, dann läuft die Schleife von 0 bis 5. Wenn du jetzt einen Eintrag löschst und dann versuchst auf eintrag Nummer 5 zuzugreifen, dann überschreitest du das Maximum der Liste.

Oder probiers mal so (mir ist immer noch nicht so ganz klar warum du alles in eine Schleife setzt, das ListBox1.Clear und den Rest musst du nur einmal machen):

Delphi-Quellcode:
procedure TForm1.IdIRC1Part(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
var Counter: integer;
    Gefunden: Boolean;
begin
  Gefunden:=False;
  for Counter := 0 to sl1.Count-1 do
    if sl1.Strings[Counter] = auser.Nick then
      begin
        Gefunden:=True;
        break;
      end;
  if Gefunden then
    begin
      sl1.Delete(Counter);
      Listbox1.Clear;
      if sl1.Count > 0 then
        Listbox1.Items.AddStrings(sl1);
      if sl2.Count > 0 then
        Listbox1.Items.AddStrings(sl2);
    end; // if Gefunden
  Gefunden:=False;
  for Counter := 0 to sl2.Count-1 do
    if sl2.Strings[Counter] = auser.Nick then
      begin
        Gefunden:=True;
        break
      end;
  If Gefunden then
    begin
      sl2.Delete(Counter);
      Listbox1.Clear;
      if sl1.Count > 0 then
        Listbox1.Items.AddStrings(sl1);
      if sl2.Count > 0 then
        Listbox1.Items.AddStrings(sl2);
    end; // if Gefunden
end;
(alle Vorschläge wie immer ohne Gewähr auf völlige Richtigkeit)

Pseudemys Nelsoni 27. Feb 2003 09:10

hoi, danke danke jetzt klappt das alles :)

könntest du mir noch sagen wie das mit der booleschen variable genau funzt(nur um zu verstehen wie es geht)...z.b bei:

Delphi-Quellcode:
if Gefunden then
ich hätte (wenn ich keine hilfe gehabt hätte, so geschrieben "if Gefunden = true then" wie funzt das da genau?

gruss mario :)

janjan 27. Feb 2003 09:25

Ganz einfach:

Delphi-Quellcode:
if Ausdruck then
Ausdruck steht hier für einen beliebigen Ausdruck oder Formulierung die entweder True oder False sein kann, z.b. 'y=3' oder 'a>4' oder '((a=b) and (b>g))=true'.

Die Variable 'Gefunden' ist Variable vom Typ Boolean und kann deswegen die Werte 'true' und 'false' annehmen. Dieser Variablentyp wird von Delphi als Ausdruck behandelt, daher ist es egal, ob du schreibst

Delphi-Quellcode:
if Gefunden = true then
oder
Delphi-Quellcode:
if Gefunden then
eigenbtlich ist es egal wie du das machst, ich persönlich finde die zweite Möglichkeit besser, da dadurch dein Code lesbarer wird.

Angenommen du hast eine Variable mit dem Namen Connected die anzeigt ob du mit dem ComPort verbunden bist oder nicht, dann würdest du schreiben

Delphi-Quellcode:
if Connected = False then
ich würd das aber schreiben als

Delphi-Quellcode:
if not Connected then
Das find ich einfacher zu verstehen, man muss nicht erst überlegen wie der Ausdruck gemeint ist.

Pseudemys Nelsoni 27. Feb 2003 10:28

ok danke :)

hab mich nämlich gewundert, da man ja bei "if Gefunden then" nicht weiss ob true oder false gemeint ist

gruss :)

e-dancer 27. Feb 2003 11:17

if gefunden then

ist´das gleiceh wie if gefunden = true then

Pseudemys Nelsoni 27. Feb 2003 11:32

und wenn die variable "false" ist?

ergibt "if Gefunden then" dann trotzdem true?

janjan 27. Feb 2003 12:01

Also:

Delphi-Quellcode:
if Ausdruck then
  begin
  end;
Das begin..end wird ausgeführt wenn Ausdruck True ist.

Angenommen das bei
Delphi-Quellcode:
if Gefunden then
Gefunden den Wert False hat, dann sieht das für Delphi ungefähr so aus:
Delphi-Quellcode:
if False then
  begin
  end;
deswegen wird das begin..end nicht ausgeführt.

Wenn du sowas hier hast:
Delphi-Quellcode:
if ((3>2) and (3=4))= true then
kannste das vereinfachen nach
Delphi-Quellcode:
if (true and false)= true then
und das kann man nach
Delphi-Quellcode:
if false= true then
vereinfachen, danach kommt
Delphi-Quellcode:
if false then
Damit sieht man das die if-Bedingung nicht ausgeführt wird.

janjan 27. Feb 2003 12:04

@Moderator:
bitte löschen

Pseudemys Nelsoni 27. Feb 2003 15:24

danke für die ansführliche beschreibung

e-dancer 27. Feb 2003 16:10

noch eines
if gefunden then
ist schneller als
if gefunden = true then


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 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