![]() |
Zitat:
Code:
Verdammt nochmal, mach in meinem Bsp. ans Ende des Strings noch ein Leerzeichen, und guck, daß Du die Box gefüllt kriegst. :wink: Vorher wird das sonst nie was.
CASE prefix OF
'@' : showmessage ('S|OP'); ... END; P.S.: Hab mir nochmal Deinen Quelltext angesehen.
Code:
ist genau das, was ich gerade mit Case gemeint habe. Lese Dir mal durch, wie das genau geht. Kann es sein, daß Du vorher mal Basic gemacht hast ?
if then else if then else if then else...
|
jo visual basic 6 einsteiger edition *g*
das problem ist, das ich nie mit case anweisungen gearbeitet hab und nicht weiss wie sie funktionieren gruss mario :) |
Dein Programmierstil hat Dich entlarvt. :mrgreen: Sowas sagt man aber vorher und läßt sich nicht erst erwischen. :lol: In der Hilfe steht ein Beispiel, bei mir allerdings in Englisch. Kannst Du das nicht, die Code-Beispiele sind trotzdem ziemlich eindeutig.
|
ja hätt ichw ohl zugeben solln, aber dann würd ich hier zum tod verurteilt werden <g>
btw: hab die caseanweisungen in der delphi hilfe gelesen, ich weiss nur nicht genau was sie bringen :oops: gruss mario |
Zitat:
|
meine bücher? O_o
|
hab das nochmal geändert
Delphi-Quellcode:
also erst lösch ich alles bis zum ":", dann das ":" selbst dann will ich prüfen ob das 1 zeichen des wortes ein "!" ist, wenn ja dann will ich den nickin die stringlist SlAdmin tun...und dann die striglist in die listbox....stürzt aber ab, ist das ne endlosschleife?
procedure TForm1.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
AContent: String; var Suppress: Boolean); var s: string; begin s := acontent; if acommand = '353' then begin Repeat Delete(s, 1, 1); until s[1] = ':'; delete(s, 1, 1); Repeat if s[1] = '!' then begin SlAdmin.AddObject(Copy(s, 1, Pos(' ', s)), image13.Picture.Bitmap); while s[1] <> ' ' do delete(s, 1, 1); delete(s, 1, 1); end; until s = ''; listbox1.Items.AddStrings(SlAdmin); end; end; Das ist für das "!". Ich müsste das ganze auch mit "@" "%" "+" und wenn kein prefix vo dem nick ist machen gruss silent |
Delphi-Quellcode:
Repeat // <-- ab hier wirds kritisch
if s[1] = '!' then <------------------- Endlosschleife begin SlAdmin.AddObject(Copy(s, 1, Pos(' ', s)), image13.Picture.Bitmap); while s[1] <> ' ' do delete(s, 1, 1); delete(s, 1, 1); end; until s = ''; listbox1.Items.AddStrings(SlAdmin); end; end; Zitat:
Zitat:
Nur : was passiert denn, wenn st[1] <> '!', wird die Repeat Schleife dann jemals beendet :?: |
dachte eigtnlich schon das sie beendet wird, da "delete(s, 1, 1);
" doch das "!" löscht und beim nächsten durchgang das "if s[1] = '!' then" doch nichtmehr zutrifft oder? |
Delphi-Quellcode:
s[1] wird bis zum Tod Deines Rechners wohl oder übel 'H' sein.
s := 'HÄ?'
Repeat if s[1] = '!' begin ... end; until s = ''; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 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