/ 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
Hvordan bestemme hvilken form, der skal åb~
Fra : Sven Storm


Dato : 22-04-01 19:40

Hej Gruppe!

Nogen der ved, hvordan kan man bestemme, hvilken Form applikationen skal åbne med - alt afhængig af programmets startparameter?

Fx
Hvis StartParameter<100 kan der kun arbejdes med Form1
Hvis StartParameter>=100 kan der kun arbejdes med Form2

Åbningsformen skal være den eneste åbne form - og således have Focus.

Håber nogen kan hjælpe??

Mvh
Sven


 
 
Niels (22-04-2001)
Kommentar
Fra : Niels


Dato : 22-04-01 21:59

Just as I expected, Sven Storm came up with this:

> Hvis StartParameter<100 kan der kun arbejdes med Form1
> Hvis StartParameter>=3D100 kan der kun arbejdes med Form2

Her er en meget simpel project-fil. Den tjekker ikke for fejl, så hvis
man giver alt andet end et heltal som den første parameter så får man
fejl.

program Test;

uses
Forms,
Unit1 in 'Unit1.pas' { Form1 },
Unit2 in 'Unit2.pas' { Form2 };

var
StartParameter: integer;
begin
Application.Initialize;
Application.Title := 'Test program';
StartParameter := IntToStr(ParamStr(1));
if StartParameter < 100 then
Application.CreateForm(TForm1, Form1)
else
Application.CreateForm(TForm2, Form2);
Application.Run;
end.

Håber det hjælper.

Niels
--
e-mail: nmartin at iname dot com
ICQ UIN: 50187323
http://www.niller.f2s.com/ - niLLer's pages

Sven Storm (22-04-2001)
Kommentar
Fra : Sven Storm


Dato : 22-04-01 22:56

Tak det virker fint.

Men - jeg var lidt for hurtigt ude. Mit program skal lige checke størrelsen på et bibliotek først - og det er faktisk denne størrelse, der bestemmer om, der skal arbejdes videre med Form2 eller Form3.

Undersøgelsen af biblioteket sker i Form1 og er uden brugerindflydelse overhovedet. Dernæst skal brugeren arbejde videre med Form2 eller Form3 - alt afhængig af størrelsen af det bibliotek, der blev checket i Form1.

Hvis jeg under Form1.FormCreate laver checket for størrelsen - og fx til sidst i Form1.FormCreate skriver:
Form1.Hide;
Form2.Show;
....får Form2 ikke focus.

Tilsvarende, hvis der skal skiftes til Form3. I begge tilfælde beholder Form1 focus.

Nogen bud på, hvordan jeg giver fx Form2 focus og sikrer, at Form1 ikke vises?

Mvh
Sven


"Niels" <nmartin@ispam.com> skrev i en meddelelse news:3ae34532.20131347@news.12move.dk...
> Just as I expected, Sven Storm came up with this:
>
> > Hvis StartParameter<100 kan der kun arbejdes med Form1
> > Hvis StartParameter>=3D100 kan der kun arbejdes med Form2
>
> Her er en meget simpel project-fil. Den tjekker ikke for fejl, så hvis
> man giver alt andet end et heltal som den første parameter så får man
> fejl.
>
> program Test;
>
> uses
> Forms,
> Unit1 in 'Unit1.pas' { Form1 },
> Unit2 in 'Unit2.pas' { Form2 };
>
> var
> StartParameter: integer;
> begin
> Application.Initialize;
> Application.Title := 'Test program';
> StartParameter := IntToStr(ParamStr(1));
> if StartParameter < 100 then
> Application.CreateForm(TForm1, Form1)
> else
> Application.CreateForm(TForm2, Form2);
> Application.Run;
> end.
>
> Håber det hjælper.
>
> Niels
> --
> e-mail: nmartin at iname dot com
> ICQ UIN: 50187323
> http://www.niller.f2s.com/ - niLLer's pages


Sven Storm (23-04-2001)
Kommentar
Fra : Sven Storm


Dato : 23-04-01 01:32

Problemet er løst ved at flytte den sorterende kode ud i project-filen og derfra starte de forskellige Forms.

Men tak for hjælpen


Claus Christiansen (23-04-2001)
Kommentar
Fra : Claus Christiansen


Dato : 23-04-01 17:32


"Sven Storm" <sven.storm@skolekom.dk> wrote in message
news:9bv8l3$m8l$1@news.inet.tele.dk...
>Hej Gruppe!
>
>Nogen der ved, hvordan kan man bestemme, hvilken Form
applikationen
>skal åbne med - alt afhængig af programmets startparameter?
>
> Fx
> Hvis StartParameter<100 kan der kun arbejdes med Form1
> Hvis StartParameter>=100 kan der kun arbejdes med Form2
>
> Åbningsformen skal være den eneste åbne form - og således have
Focus.

I din projekt fil:

if paramcount > 0 then
if StrToInt(StartParam(1)) < 100 then
Application.CreateForm(TForm1, Form1);

if Application.MainForm = nil then
Application.CreateForm(TForm2, Form2);

Dermed startes programmet med Form2 hvis ikke der er angivet
nogen start parameter, men det kan du nok selv tilpasse som du
har lyst.

>Håber nogen kan hjælpe??

Det håber jeg da også... :)

PS: Efter som jeg kan se du har en skolekom adresse, så vil jeg
tro du er den Sven Storm min far kender, så i den anledning
skulle jeg hilse fra Per Christiansen, Sabro-Korsvejskolen :)

Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>

Pythia: http://www.pythia.dk/
Personal: http://www.bigfoot.com/~kruc
============================================--------------------
-----
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)



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

Månedens bedste
Årets bedste
Sidste års bedste