/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Kan jeg konvetere en String til TWindowSta~
Fra : Michael


Dato : 13-12-00 14:02

Kan jeg konvetere en String til TWindowState?

var
winState: String;
begin
winState := 'wsMaximized';

form1.windowState := winState;
....

Sådan her vil den selvfølgelig ikke virke da winState er en String, hvordan
kan jeg konvetere den eller skal jeg igang med en gang if sætninger?
Det skal lige siges at jeg henter wsMaximized eller en de andre fra en
tekstfil.

På forhånd tak for hjælpen!

/md



--
/md



 
 
Jesper Krog Andersen (13-12-2000)
Kommentar
Fra : Jesper Krog Andersen


Dato : 13-12-00 15:21

michael@danwebportal.com (Michael) wrote in
<ztKZ5.7053$0p2.439616@news000.worldonline.dk>:

>Kan jeg konvetere en String til TWindowState?
>
>var
> winState: String;
>begin
> winState := 'wsMaximized';
>
> form1.windowState := winState;
>...
>
>Sådan her vil den selvfølgelig ikke virke da winState er en String,
>hvordan kan jeg konvetere den eller skal jeg igang med en gang if
>sætninger? Det skal lige siges at jeg henter wsMaximized eller en de
>andre fra en tekstfil.

Nej det kan du ikke, men du kan konvertere mellem TWindowState og en
integer. Ex. (MyInt er en integer)

form1.windowstate = TWindowState(MyInt);

og

MyInt = integer(form1.windowstate);

Så hvis du ikke har noget imod at dine window-states står som '0', '1'
o.s.v. i din fil, kan du bruge det.

/Jesper

Jan Pedersen - JPSof~ (13-12-2000)
Kommentar
Fra : Jan Pedersen - JPSof~


Dato : 13-12-00 21:03

Hej.

"Michael" <michael@danwebportal.com> skrev i en meddelelse
news:ztKZ5.7053$0p2.439616@news000.worldonline.dk...
> Kan jeg konvetere en String til TWindowState?
>
> var
> winState: String;
> begin
> winState := 'wsMaximized';
>
> form1.windowState := winState;
> ...
>
> Sådan her vil den selvfølgelig ikke virke da winState er en String,
hvordan
> kan jeg konvetere den eller skal jeg igang med en gang if sætninger?
> Det skal lige siges at jeg henter wsMaximized eller en de andre fra en
> tekstfil.
>
> På forhånd tak for hjælpen!
>
> /md>
Nej, det kan du ikke. winState (ovenfor) er deklareret som en variabel
af type String, hvorimod WindowState er en enumerated type (TWindowState).

Du kan deklarere din egen på eks. denne måde:

Type
TMyWindowState = (Normal, Minimeret, Maximeret);

Og så typcaste den via WindowsState:= TWindowState(Normal);

-Jan



David A. D. Konrad (13-12-2000)
Kommentar
Fra : David A. D. Konrad


Dato : 13-12-00 21:16

Michael wrote in message ...
>Kan jeg konvetere en String til TWindowState?
>
>var
> winState: String;
>begin
> winState := 'wsMaximized';
>
> form1.windowState := winState;
>...


Det kan du faktisk godt! Inkluder TypInfo i din uses. I det følgende har jeg
en form med to knapper, en label og en editbox. WinState er af type string.

//her får jeg en string med den aktuelle windowstate
procedure TForm1.Button1Click(Sender: TObject);
begin
WinState:=GetEnumName(Typeinfo(TWindowState),integer(WindowState));
label1.caption:=WinState;
end;

//her sætter jeg formens windowstate i forhold til noget jeg har tastet ind
i edit1
procedure TForm1.Button2Click(Sender: TObject);
begin
WinState:=Edit1.text;
try

WindowState:=TWindowState(GetEnumValue(Typeinfo(TWindowState),WinState));
except
raise Exception.create('Bull : Det er jo ikke en TWindowState!!');
end;
end;

håber det hjalp!

PS : Ovenstående gælder naturligvs alle enumerede typer....

hilsen,




Jan Pedersen - JPSof~ (13-12-2000)
Kommentar
Fra : Jan Pedersen - JPSof~


Dato : 13-12-00 22:35

Spørgsmålet er så, hvad er optimal (hurtigst) kode?
Jeg foretrækker WindowState:= wsXXXX;

"David A. D. Konrad" <konrad@dadk.dk> skrev i en meddelelse
news:CNQZ5.12270$72.205624@twister.sunsite.auc.dk...
> Michael wrote in message ...
> >Kan jeg konvetere en String til TWindowState?
> >
> >var
> > winState: String;
> >begin
> > winState := 'wsMaximized';
> >
> > form1.windowState := winState;
> >...
>
>
> Det kan du faktisk godt! Inkluder TypInfo i din uses. I det følgende har
jeg
> en form med to knapper, en label og en editbox. WinState er af type
string.
>
> //her får jeg en string med den aktuelle windowstate
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> WinState:=GetEnumName(Typeinfo(TWindowState),integer(WindowState));
> label1.caption:=WinState;
> end;
>
> //her sætter jeg formens windowstate i forhold til noget jeg har tastet
ind
> i edit1
> procedure TForm1.Button2Click(Sender: TObject);
> begin
> WinState:=Edit1.text;
> try
>
> WindowState:=TWindowState(GetEnumValue(Typeinfo(TWindowState),WinState));
> except
> raise Exception.create('Bull : Det er jo ikke en TWindowState!!');
> end;
> end;
>
> håber det hjalp!
>
> PS : Ovenstående gælder naturligvs alle enumerede typer....
>
> hilsen,
>
>
>



Niels (niLLer) (13-12-2000)
Kommentar
Fra : Niels (niLLer)


Dato : 13-12-00 22:39

Just as I expected, "Jan Pedersen - JPSoft DK" <yeah@right.net> came
up with this:

>Spørgsmålet er så, hvad er optimal (hurtigst) kode?
>Jeg foretrækker WindowState:= wsXXXX;

Det er det også, men det oprindelige spørgsmål gik på at konvertere en
string til en ordinal værdi af typen TWindowState, og det er det
Konrad har svaret på. Hvis det er noget man bare skal gøre internet,
så kan man selvfølgelig godt gøre det på "den simple måde".

Niels (aka. niLLer)
--
e-mail: nmartin at iname dot com ICQ UIN: 50187323
http://xoasis.com/~niller/ - niLLer's pages (My programs, in English)
http://whitehat.dk/g4s/ - The G4S Page (Personlig side, på dansk)
-- I've been Windozed!

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste