![]() |
leere Menge
Hi,
ich bins wieder :) Neue Frage: Kann man einer Variable eine leere Menge zuweisen? also z.b.: if Name='Daniel' then a:=1 else a:=(leer); Man könnte den else Teil einfach weglassen, dann würde die Variable nicht beschrieben aber auch nicht leer sein, da das vorher reingeschriebene ja noch drin steht Danke im Vorraus MfG ErdNussLocke |
Re: leere Menge
Ein Integer hat immer eine Zahl als Wert. Es gibt aber durchaus Mengen in Delphi:
Delphi-Quellcode:
Für deinen Zweck kannst du entweder eine zusätzliche Boolean-Variable deklarieren, die du dann auf false setzt, wenn irgendein von dir gewünschter Fall eitritt, oder, falls du nur den positiven Zahlenbereich benutzt, -1 für "nichts".
type
TEnum = (1,2,3,4); TSet = set of TEnum; var x: TSet; begin x := []; // x wird leere menge zugewiesen end; |
Re: leere Menge
Hallo,
so wie ich dich verstanden habe, muss die Variable als erstes (wie oftmals notwendig) intialisiert werden. (mit einem festem Wert, in diesem Fall = leer) also in etwa so:
Delphi-Quellcode:
var
myStringVar: String; myZahlVar : Integer; begin myStringVar := ''; //initialisieren der Variable myZahlVar := 0; //initialisieren der Variable If...then begin ...// dein Code end; |
Re: leere Menge
hmm also ich will folgendes machen:
ich lasse zufällig eine zahl unter 2 also 0 oder 1 generieren und wenn sie 1 ist dann soll der text der auf knopfdruck geschrieben wird fett geschrieben werden, also soll in die variable fsbold gespeichert werden. wenn die zahl aber 0 ist soll die variable leer sein. da ich den knopf mehrmals im programm drücke muss die variable irgendwie auf leer gesetzt werden da ja sonst immer das drin steht. hoffe ich konnt das irgendwie rüber bringen :) hier nochmal so: VAR d: integer; e: tfontstyle; d:=random(2); if d=1 then e:=fsbold else e:=(leer); geht das? Mfg ErdNussLocke PS: wenn ich in die Variable '' schreiben will kommt der Fehler das keine Strings gespeichert werden können |
Re: leere Menge
ah... mal sehen... gibt es fsregular? oder fsnone? sehr hilfreich könnte es auch sein, einfach mal in die IDE (Delphi-Editor ;) )
"e := fs" einzutippen und dann Strg + Leertaste zu drücken. EDIT: Ansonsten könnte auch die "echte" leere Menge funktionieren:
Delphi-Quellcode:
e := [];
|
Re: leere Menge
Da bietet es sich doch an, e als TFontStyles zu deklarieren.
Delphi-Quellcode:
var e:TFontStyles;
begin e := [fsBold]; // fett e := []; // normale schrift e := [fsBold, fsUnderline]; // oder das e := [fsBold, fsUnderline, fsItalic, fsStrikeout]; // nicht mehr sinnvoll ... end; |
Re: leere Menge
Das mit [] geht irgendwie nicht aber wenn man Unassigned in die Variable speoichert gehts
Danke allen die ihre Hilfe angeboten haben Mfg ErdNussLocke |
Re: leere Menge
Das mit "[]" geht natürlich nur mit Variablen eines Set-Typs, wie eben TFontStyles. Du verwendest aber eine Variant-Variable. Dieser kannst du zwar z.Bsb. fsBold zuweisen, aber nicht mehrere Fontstyles kombinieren (e := [fsBold, fsUnderline]), dam man einem Variant kein Set zuweisen kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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