Programı dışarıdan parametre alarak çalıştırma?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

Programı dışarıdan parametre alarak çalıştırma?

Mesaj gönderen sarp_halit » 31 Eki 2011 02:15

Merhaba arkadaşlar,

tamamlamış olduğum programların hepsini tek çatı altında toplama istiyorum. bunun için hazırlayacak olduğum yeni programda her butona daha önce hazırlamış olduğum exeyi çalıştırması için komut vereceğim. sıkıntım şu.

bütün programların dışarıdan kullanıcı adı ve parolayı parametre olarak alması ve login screen gelmeden parametre ile gönderilen kullanıcı adı ve şifre ile programı başlatması. örneğin: herhangi bir butonun onclick olayına "xprogrami.exe /kullanici=kullanici_adi parola=kullanici_parolasi" yazdığımda girilen o parametrelerle o prgoramı çalıştırmak istiyorum. bunun için gelen parametreleri xprogrami.exe dosyasında nasıl dış parametre olarak aldırabilirim?

teşekkür ederim. bu arada ben de internet üzerinden bir araştırma içerisindeyim ve benden önce herhangi bir yanıt gelmezse burada paylaşacağımı belirtmek isterim.

herkese iyi forumlar.
Fethiye den herkese sevgiler ...
X))@:>

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3044
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Programı dışarıdan parametre alarak çalıştırma?

Mesaj gönderen sabanakman » 31 Eki 2011 03:07

Mesela 1. parametre kullanıcı 2. parametre şifre olacak şekilde

Kod: Tümünü seç

S:=Format('program.exe "%s" "%s"',[edtKul.Text,edtSifre.Text]);
WinExec(PAnsiChar(S),SW_SHOWNORMAL);
çalıştırılan bir programda bu değerler

Kod: Tümünü seç

KulAdi:=ParamStr(1);
Sifre:=ParamStr(2);
şeklinde elde edilebilmektedir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

Kullanıcı avatarı
Shou
Üye
Mesajlar: 260
Kayıt: 26 Ağu 2011 01:00

Re: Programı dışarıdan parametre alarak çalıştırma?

Mesaj gönderen Shou » 31 Eki 2011 06:52

Merhabalar, örnek proje paylaşırmısınız bana çok lazımda lütfen..

şimdiden teşekkürler..

Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 01:28

Re: Programı dışarıdan parametre alarak çalıştırma?

Mesaj gönderen Rew33 » 01 Kas 2011 09:17

Şaban beyin söylediğine ek olarak programı şu şekilde çalıştırırsanız; çalıştırmak istediğiniz program açılınca ana menü sistemtry'a gider program kapatılınca geri ekrana gelir.

Kod: Tümünü seç

function RunProcess(const AppPath: string; MustWait: boolean;
  AppParams: string; Visibility: Word): DWORD;
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  Proc: THandle;
  zFileName, zParams: array [0 .. 79] of Char;
begin
  FillChar(SI, SizeOf(SI), 0);
  SI.cb := SizeOf(SI);
  SI.wShowWindow := Visibility;
  if not CreateProcess(StrPCopy(zFileName, AppPath),
    StrPCopy(zParams, AppParams), nil, nil, false,
    Normal_Priority_Class, nil, nil, SI, PI) then
    raise Exception.CreateFmt('Hata mesajınız' + ' Hata Kodu %d', [GetLastError]);

  Proc := PI.hProcess;
  CloseHandle(PI.hThread);

  if MustWait then
    if WaitForSingleObject(Proc, Infinite) <> Wait_Failed then
      GetExitCodeProcess(Proc, Result);
  CloseHandle(Proc);
end;
çalıştırması ise

Kod: Tümünü seç

  Hide;
      Try
        RunProcess('Exe yolu', True, '', SW_SHOWNORMAL);
      Finally
        Show;
      End;
son olarak tabi ki düşünmüşsünüzdür ama mevcut çalışan projelerinizi çok kısa bir sürede bpl'ye dönüştürüp istediklerinizi daha kolay yapabilirsiniz.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES

Cevapla