![]() |
Problem mit Bedingung in einer While-Schleife
Also... ich hab hier folgendes:
Delphi-Quellcode:
Mein Problem ist, das die Bedingung der while Schleife kein boolean ist. In anderen Programmiersprachen wie etwa PHP hat nämlich eine Zuweisung einen Rückgabewert von true oder false. In Delphi wohl leider nicht. Wie kann ich das also machen?
if Prot = 'l:' then
begin ChatUserOutput.Clear; if NewMsg = '' then begin NewMsg := Msg end; while TPos := Pos('~', NewMsg) do User := Copy(NewMsg, 1, TPos-1); ChatUserOutput.Items.Add(User); NewMsg := Copy(NewMsg, TPos+1, length((NewMsg - length(User)) - 1); end; end; Danke schonmal für die Hilfe ;) |
Re: Problem mit Bedingung in einer While-Schleife
mussu aufteilen
Delphi-Quellcode:
while pos('~',newmsg) > 0 then
begin tpos := pos('~',newmsg); end; oder halt mit einer repeatschleife machen |
Re: Problem mit Bedingung in einer While-Schleife
Die Abfrage einer While schleife muss von Typ Boolean sein! Was du gemacht hast ist eine zuweisung!
Delphi-Quellcode:
while Pos('~', NewMsg) > 0 do
~ end; |
Re: Problem mit Bedingung in einer While-Schleife
Noch eine Möglichkeit wäre:
Delphi-Quellcode:
Grüße vom marabu
if Prot = 'l:' then begin
ChatUserOutput.Clear; if NewMsg = '' then NewMsg := Msg; while NewMsg <> '' do begin TPos := Pos('~', NewMsg); if TPos = 0 then User := NewMsg else User := Copy(NewMsg, 1, TPos-1); ChatUserOutput.Items.Add(User); if TPos = 0 then Break else Delete(NewMsg, 1, TPos); end; end; |
Re: Problem mit Bedingung in einer While-Schleife
So, danke erstmal... Ich habs jetzt hinbekommen. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 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