AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Parameter in einer Verknüpfung

Ein Thema von Andreas L. · begonnen am 5. Apr 2003 · letzter Beitrag vom 7. Apr 2003
Thema geschlossen
Seite 1 von 2  1 2      
Andreas L.
(Gast)

n/a Beiträge
 
#1

Parameter in einer Verknüpfung

  Alt 5. Apr 2003, 16:36
Hi,
ich habe eine Anwendung mit Delphi programmiert. Nun möchte ich das der Benutzer über eine Verknüpfung verschiedene Forms öffnen kann. Also zum Beispiel:

C:\Programme\Programm\Programm.exe /?

Anstatt des ? sollte eben eine Bezeichnung (Parameter) hin. Ich habe auch schon ausprobiert hinter den Slash einfach form2 zu schreiben, ging aber nicht! Wie kann ich in Delphi das realisieren! Muss ich da was in die .dpr schreiben?

Ich hoffe das war verständlich!

THX schon mal im voraus!
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 5. Apr 2003, 16:42
Moin OnlineHome,

erst einmal herzlich willkommen in der Delphi-Praxis.

Um Dein Problem zu lösen, solltest Du Dir mal paramstr und paramcount ansehen.
Damit ist es Dir dann möglich die/den jeweils übergebenen Parameter zu ermitteln, und anhand dessen das entsprechende Formular anzuzeigen.

Das was als Parameter übergeben wird, wird in paramstr(1) bis paramstr(n) an das Programm übergeben (je nach Anzahl der Parameter die übergeben werden, zu ermitteln mit paramcount)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
Andreas L.
(Gast)

n/a Beiträge
 
#3
  Alt 5. Apr 2003, 16:48
Zitat von Christian Seehase:
erst einmal herzlich willkommen in der Delphi-Praxis.
DANKE



Leider habe ich mich noch nicht mit paramstr beschäftigt. Wie geht das? Wie übergibt man diese Parameter? In der Delphi-Hilfe steht nichts sehr hilfreiches!
 
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 5. Apr 2003, 16:53
Hallo und herzlich Willkommen im Forum,

hier mal ein bisschen Code von mir, wie man den Parameter übernimmt.
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  SndPlaySound(PChar(ParamStr(2)), SND_ASYNC);
//SND_SYNC = Während die Datei abgespielt wird, steht das Prog.
//SND_ASYNC = Die Datei wird unabhängig vom Programm abgespielt
//SND_LOOP = Immer wieder und immer wieder
  Label1.Caption:=ParamStr(1);
  Button1.SetFocus;
  Beep;
end;
Der erste Parameter wird hier in einem Label angezeigt und als zweiten Parameter gibt man eine .wav File an die beim Start abgespielt werden soll.

Grüsse, Daniel
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 5. Apr 2003, 16:56
Moin OnlineHome,

wenn eine Exe gestartet wird, so werden alle Strings die dahinter stehen vom Betriebbsystem als Parameter übergeben, wobei ein Leerzeichen als Trennzeichen gilt, wenn der String nicht in "" eingeschlossen ist.

Beispiel:

programm.exe param1 noch ein parameter "noch einer"

Hier würden

paramstr(1) = 'param1'
paramstr(2) = 'noch'
paramstr(3) = 'ein'
paramstr(4) = 'parameter'
paramstr(5) = 'noch einer'

sein.

Experimentiere doch mal ein wenig damit.
Das irgendwelche Kennzeichen wie / oder - verwendet werden ist keine Pflicht.

Über das Menü der IDE kannst Du über Start\Parameter mal welche eingeben und Dir dann, z.B. im FormCreate Event mit einer For-Schleife von 1 bis paramcount und ShowMessage(paramstr(i)) (i = Schleifenzähler), mal ansehen, was übergeben wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
Andreas L.
(Gast)

n/a Beiträge
 
#6
  Alt 5. Apr 2003, 16:59
OK! Ich werde das mal probieren, wenn ich in übung bin poste ich wieder!
 
Andreas L.
(Gast)

n/a Beiträge
 
#7
  Alt 7. Apr 2003, 18:59
Leider habs ich nicht geschafft! Kann mir jemand eine kompletten Code geben? Bräuchte das, sonst kann ich mein Prog nicht fertigstellen!
 
Daniel B
(Gast)

n/a Beiträge
 
#8
  Alt 7. Apr 2003, 19:28
Du stellst Dich aber auch an.

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  if ParamStr(1) = 'MeinParameterthen
  begin
    //Hier der Code
  end;
end;
Grüsse, Daniel
 
Andreas L.
(Gast)

n/a Beiträge
 
#9
  Alt 7. Apr 2003, 19:45
Gut, das geht! Wie kann ich jetzt noch amchen das form1.hide gemahct wird!

Ich benutze im Moment

Code:
if paramstr(1) = 'form2' then Form1.Hide else Form2.Show;
Aber da öffnet sich Form1 und wird nocht hide, und form2 öffnet sich nciht!
 
Andreas L.
(Gast)

n/a Beiträge
 
#10
  Alt 7. Apr 2003, 19:48
Das:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if paramstr(1) = 'form2' then
begin
Form1.Hide;
end;
begin
Form2.Show;
end;
end;
geht auch net!
 
Thema geschlossen
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz