Merhaba,
Delphide ParamStr() komutu ile İlk Açılacak formu belirlemem mümkün mü ?
Mesela kısayola 1 yazarsa Form1 ile açılacak Uygulama,2 yazarsa Form2 ile açılacak
ParamStr() ile Açılacak Formu Belirlemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ParamStr() ile Açılacak Formu Belirlemek
Çaylak Delphici
Yakup ULUTAŞ
Yakup ULUTAŞ
Re: ParamStr() ile Açılacak Formu Belirlemek
Uygulamanın mainform u default olarak show edilir ama bunu .ShowMainForm:= False; ile kapatabilirsin, gerisi yani istediğin if then else
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: ParamStr() ile Açılacak Formu Belirlemek
Teşekkürler freeman35 Soru sormaya üşenmedim, çözümü de yazayım üşenmeden
Bu şekilde çözdüm,
Bu şekilde çözdüm,
Çaylak Delphici
Yakup ULUTAŞ
Yakup ULUTAŞ
Re: ParamStr() ile Açılacak Formu Belirlemek
Merhaba,
Öncelikle değişken isimleri her ne kadar istenildiği gibi tanımlanabilse da anlamlı ve okunduğunda açıklayıcı olmasında çok fayda vardır. En basitinden 3 ay sonra uygulamaya eklendi/değişiklik yapmak gerektiğinde daha kolay hatırlamaya yardımcı olur. Sizin uygulamanızdaki Form isimlerini bu anlamda daha anlaşılır yapmakta fayda var.
Aynı şekilde "myq, mq: TMyQuery;" şeklinde tanımlamaktan ziyade kullanım amacına uygun isimler (örn: QueryAge, QueryTotals, vb) vermek daha güzel olacaktır.
Sorunuza gelince, Windows sistemi eski DOS zamanlarından kalan standart parametre kullanımını devam ettirir. Bu anlamda parametreleri tanımlamak için önlerine "-" veya "/" işaretleri koyulur. Eğer bu standarda uymak isterseniz Delphi içindeki hazır fonksiyonlardan da faydalanabilirsiniz.
Program komut satırından "My.Exe -1" veya "My.Exe -2" veya "My.Exe /2" şeklinde çalıştırılır. Buna uygun olarak parametreyi tespit etmek için şu kodu kullanabilirsiniz.
Ancak burada şuna dikkat etmek gerekli. Eğer uygulama komut satırından "My.Exe /1 /2" şeklinde çalıştırılır ise bu defa yukarıdaki kod her iki formu da oluşturacaktır.
İyi çalışmalar.
Öncelikle değişken isimleri her ne kadar istenildiği gibi tanımlanabilse da anlamlı ve okunduğunda açıklayıcı olmasında çok fayda vardır. En basitinden 3 ay sonra uygulamaya eklendi/değişiklik yapmak gerektiğinde daha kolay hatırlamaya yardımcı olur. Sizin uygulamanızdaki Form isimlerini bu anlamda daha anlaşılır yapmakta fayda var.
Aynı şekilde "myq, mq: TMyQuery;" şeklinde tanımlamaktan ziyade kullanım amacına uygun isimler (örn: QueryAge, QueryTotals, vb) vermek daha güzel olacaktır.
Sorunuza gelince, Windows sistemi eski DOS zamanlarından kalan standart parametre kullanımını devam ettirir. Bu anlamda parametreleri tanımlamak için önlerine "-" veya "/" işaretleri koyulur. Eğer bu standarda uymak isterseniz Delphi içindeki hazır fonksiyonlardan da faydalanabilirsiniz.
Program komut satırından "My.Exe -1" veya "My.Exe -2" veya "My.Exe /2" şeklinde çalıştırılır. Buna uygun olarak parametreyi tespit etmek için şu kodu kullanabilirsiniz.
Kod: Tümünü seç
uses
System.SysUtils;
// Delphi 7 için "SysUtils" olmalı
procedure TForm4.FormCreate(Sender: TObject);
begin
if FindCmdLineSwitch('1') then Application.CreateForm(TForm35, Form35);
if FindCmdLineSwitch('2') then Application.CreateForm(TForm27, Form27);
end;
İyi çalışmalar.
Re: ParamStr() ile Açılacak Formu Belirlemek
Bilgiler için teşekkür ederim.
Bu program şirket içinde kullandığımız bir şey, çok üzerine düşmedim bu yüzden.
Bu program şirket içinde kullandığımız bir şey, çok üzerine düşmedim bu yüzden.
Çaylak Delphici
Yakup ULUTAŞ
Yakup ULUTAŞ
Re: ParamStr() ile Açılacak Formu Belirlemek
Nasıl üşenmemişsin? yazmak yerine hiyeroglif kullanmışsınyhackup yazdı:Teşekkürler freeman35 Soru sormaya üşenmedim, çözümü de yazayım üşenmeden
Bu şekilde çözdüm,
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!