Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] Komutlu Program
#1
İyi akşamlar. Delphi paclient.exe gibi bir exe yapmak istiyorum. Bazı işlemleri bir exe içerisinte toplayıp komutlar ile yaptırmak.

program xpaclient;

{$APPTYPE CONSOLE}

const
 ver = '2.0.1.7';

begin
 Writeln('X Platform Assistant Client version ' + ver);
 Writeln('Copyright © 2016-2017');
 Writeln('');
 Writeln('Usage: xpaclient [<options>]');
 Writeln('');
 Writeln('where <options> include:');
 Readln;
end.

Bu projeye örnek olarak bu komutları nasıl yaparım?
xpaclient.exe -help  
xpaclient.exe -deploy dir/values.xml res/values/strings.xml
xpaclient.exe -build -Carm android.pas
WWW
Cevapla
#2
Bu işler için ParamStr fonksiyonu kullanılıyormuş. Böyle bir örnek yaptım. Tek aklıma takılan birden fazla parametre bana gerekli olan kısmı nasıl ayıracağım. Yani bunu xpaclient.exe -b -Carm -Pandroid.pas olarak çağırımda bulundu diyelim. 1ci değer hangi işleme yapılacağını belirtenden sonra bana 2 ve 3 değerleri almam gerekiyor. O biraz aklıma takıldı.

program xpaclient;

{$mode objfpc}{$H+}

uses SysUtils;

const
 ver = '2.0.1.7';

var
 I: Integer;

procedure GetParams(x: Integer);
var
 S: String;
begin
 S := LowerCase(ParamStr(x));
 if S = '-h' then
 begin
   Writeln('Usage: xpaclient [<options>]');
   Writeln('');
   Writeln('where <options> include:');
   Writeln('   -h             Help');
   Writeln('   -d <x>,<x>     Deploy project files (Source path, New path)');
   Writeln('   -b             Build project');
   Writeln('   -C<x>          CPU architecture (arm, x86, mips)');
   Writeln('   -P<x>          Project file (.pas, .dpr, .lpr)');
 end else
 begin
   Writeln('Command not found');
 end;
end;

begin
 Writeln('X Platform Assistant Client version ' + ver);
 Writeln('Copyright © 2016-2017');
 Writeln('');
 if ParamCount > 0 then
 begin
   for I := 1 to ParamCount do
   begin
     GetParams(I);
   end;
 end else
 begin
   Writeln('Command not found');
 end;
end.                     
WWW
Cevapla
#3
Sizin de kullandığınız gibi Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol size parametre sayısını verir. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ile de her bir parametreye erişebilirsiniz.
ParamStr(0) programın çalışma klasörü+dosya ismini verir.
Sizin örneğinizde
ParamStr(1) = -b
ParamStr(2) = -Carm
ParamStr(3) = -Pandroid.pas

Örneğin; girilen parametrelerin ilk harfi size bunun ne için kullanılacağını belirtebilir. İlk harften sonra gelenleri de ilgili parametrenin değeri şeklinde kullanabilirsiniz.
There's no place like 127.0.0.1
WWW
Cevapla
#4
(04-05-2017, Saat: 08:44)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSizin de kullandığınız gibi Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol size parametre sayısını verir. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ile de her bir parametreye erişebilirsiniz.
ParamStr(0) programın çalışma klasörü+dosya ismini verir.
Sizin örneğinizde
ParamStr(1) = -b
ParamStr(2) = -Carm
ParamStr(3) = -Pandroid.pas

Örneğin; girilen parametrelerin ilk harfi size bunun ne için kullanılacağını belirtebilir. İlk harften sonra gelenleri de ilgili parametrenin değeri şeklinde kullanabilirsiniz.

Merhaba. İlginiz için teşekkürler. Onu kullanmıştım ama dediğinizi tamamen unutmuşum. O zaman döngüyü kaldırmam gerekiyor. Bana 1ci parametreye göre işlem yapacak çünkü. 2 ve 3 parametreyi yazdığınız gibi statik rakamla alırım.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Exclamation [ÇÖZÜLDÜ] Delphi EXE Resource TR Dil Sorunsalı mrmarman 6 191 12-07-2018, Saat: 11:09
Son Yorum: mrmarman
  [ÇÖZÜLDÜ]-Tip Dönüşümü - [TXSDecimal > Float ) hi_selamlar 6 176 02-07-2018, Saat: 12:19
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ]-n11.com Api Bağlantısı hi_selamlar 3 162 29-06-2018, Saat: 14:46
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ]-Başka Uygulamadaki MDIChild Form Handle Alma hi_selamlar 9 222 29-06-2018, Saat: 09:52
Son Yorum: hi_selamlar
  sha512 Kodlama ve Kod Çözme [ÇÖZÜLDÜ] 3ddark 7 192 26-06-2018, Saat: 11:45
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi