- Beranda
- Programmer Forum
[Sharing] Pecinta FreePascal Compiler Masuk gan! kita belajar bareng, Lazarus juga.
...
TS
angkaputra
[Sharing] Pecinta FreePascal Compiler Masuk gan! kita belajar bareng, Lazarus juga.
![[Sharing] Pecinta FreePascal Compiler Masuk gan! kita belajar bareng, Lazarus juga.](https://dl.kaskus.id/freepascal.org/pic/logo.gif)
FreePascal Compiler & Lazarus Console Version
Quote:
Rules
1. Dilarang Junker
2. Dilarang komentar SARA, Pornografi, Kekerasan, dan hal lain yang mengundang amarah kaskuser serta menjelek-jelekan sesama kaskuser
3. Boleh mengajukan pertanyaan seputar Lazarus dan Pascal dan jangan sangkutkan dengan GUI ... (OOT boleh asal jangan terlalu OOT, yang terlalu OOT akan dianggap junker dan di timpuk bata #bagi yang sudah iso).
4. Diharapkan Program yang di-sharing adalah Console.
5. Dilarang memposting codingan program GUI ... misalnya yang pake Form di lazarus atau Delphi. (Disini kita belajar mekanisme programnya gan ... jadi kita berfikir bagaimana cara program bekerja. Dari mulai cara input sampai output)
6. Alasan codingan program GUI dilarang karena kita sedang bernostalgia

7. Mohon bungkus rapi dengan artikel yang anda buat.
8. Untuk artikel jangan hanya sekedar sisipkan link. Tambahkan artikelnya di post ... (ini kan kaskus
).9. Boleh repost dari blog agan dan diusahakan originalitas tulisan agan (Maksudnya jangan copas dari website orang ... takut koar2 gk jelas disini. Klo ngambil source dikit gpp ... Juga kalo misalkan tulisan itu milik agan, gpp copas juga gk ada yg ngelarang
yang penting jgn punya orang ...
) biar artikel lebih variatif ...
(Lalu liat aturan no. 8).10. Silahkan tulis Review program-mu disini (asalkan console
)Rules akan diupdate ...
Quote:
Read Me First!
1. Pengertian Console
Dikutip dari: http://eirenekw.blogspot.jp/2011/04/...plication.html
Console Application ( Aplikasi Konsol ) adalah baris perintah yang berorientansi aplikasi yang memungkinkan kita untuk membaca karakter dari konsol, menulis karakter ke konsol dan dijalankan dalam versi DOS.
Spoiler for New Console Project in Lazarus:
2. Pengertian GUI
Dikutip dari: http://belajar-komputer-mu.com/penge...h-singkat-gui/
Secara sederhana, GUI adalah suatu media virtual yang dapat membuat pengguna memberikan perintah tertentu pada komputer tanpa mengetik perintah tersebut, namun menggunakan gambar yang tersedia. Pengguna tidak mengetikkan perintah seperti pada komputer dengan Shell atau teks. Dengan GUI, perintah dapat dikonversi menjadi ikon dalam layar monitor yang dapat diklik untuk memulai fungsinya.
Spoiler for Screen Shoot GUI Program:
Jangan disalahartikan gan ... klo masih, ane timpuk pake bata
![[Sharing] Pecinta FreePascal Compiler Masuk gan! kita belajar bareng, Lazarus juga.](https://dl.kaskus.id/r17.imgfast.net/users/1712/29/57/59/smiles/2932365984.png)
(Update tutorial dibawah!!!)
Buat yang belum tahu apa itu FPC ini:
Spoiler for Wikip:
Buat yang belum tahu apa itu Lazarus ini:
Spoiler for Wikip:
Tutorial
Quote:
Input Non-Case Sensitive di Pascal
File Handling Pascal
Randomize
Parameter Program
Procedure Delay
[OOT] Minimalkan Hasil Kompilasi Lazarus
Source Code
Quote:
Shared Program
Quote:
Read the Rules and Please don't Junker.





Diubah oleh angkaputra 14-03-2014 21:20
nona212 memberi reputasi
1
13.2K
Kutip
96
Balasan
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
20.2KThread•4.9KAnggota
Tampilkan semua post
TS
angkaputra
#20
Update: Sharing 1 - by Angkaputra a.k.a Dr4gonia
Apa itu Commandprompt.pas? yep... ini unit yang ane buat untuk proyek rediary ... disini ditanam berbagai macam kebutuhan semacam parameter input dan remove double space. Fitur lain juga ada seperti password input dan delay write ... berikut source-nya.
Biar agak belajar dikit silahkan baca code programnya sampe tuntas
Kalo source mengalami kendala harap lapor dimari ya ...
Mirror:
1. [url]http://S E N S O R/aybPPtKF[/url] <-- ini yang mudah kebaca
2. [url]http://S E N S O R/raw.php?i=aybPPtKF[/url] <-- ini yang tinggal copas.
Commandprompt.pasUnit Commandprompt
Quote:
Apa itu Commandprompt.pas? yep... ini unit yang ane buat untuk proyek rediary ... disini ditanam berbagai macam kebutuhan semacam parameter input dan remove double space. Fitur lain juga ada seperti password input dan delay write ... berikut source-nya.
Biar agak belajar dikit silahkan baca code programnya sampe tuntas

Code:
unit commandprompt;
interface
uses crt,dos,sysutils;
const
max_pwd_length=20;
allowed_chars=['0'..'9','A'..'Z','a'..'z'];
mask_char='*'; { Char to mask password with }
enter=#13; { Keyboard codes }
backspace=#8;
space=#32;
beep=#7;
escape=#27;
function rdspace(s:string):string; (*ini untuk remove spasi di tengah-tengah string*)
function refspace(s:string):string; (*untuk remove spasi di awal dan di akhir string*)
{Untuk penggunaan kedua remove spasi diatas alangkah baiknya langsung digunakan keduanya pada satu perintah baris misal: newStr=rdspace(refspace(str)) }
function caseSens(s:string):string; (*Penghilangan input case sensitive... btw karena agan larry.the.cow ngasih tau bahwa ada function-nya di freepascal yaudah pake itu aja*)
function question(s:string):boolean; (*Dari namanya emang buat choice option deh ... tapi belon pernah dicoba jadi jangan dulu pake ya*)
function getParam(s:string;int:integer):string; (*Function yang sering dipake dalam program yang butuh parameter... meski sebenarnya udah ada tapi parameter disini kita ngambilnya dari readln...
bukan pada saat program akan dijalankan. Itu loh yang sewaktu kita ngetik ping.exe 127.0.0.1 yang "127.0.0.1" itu parameter 1 namanya. selengkapnya silahkan searching*)
function getPCount(s:string):integer; (*menentukan jumlah parameter yg diinput*)
function password:string; (*Ini bagian yang paling seru. ane juga dapet dari google... karena udah lama lupa nyantumin namanya. sesuai nama berfungsi untuk input password... itu lo klo readln biasanya keluar char... klo ini pada bintang2
*)
procedure dwrite(s:string); (*test aja langsung dan rasakan sensasinya... *)
implementation
function rdspace(s:string):string;
var i:integer; dspace:boolean; sh:string;
begin
sh:='';
dspace:=false;
for i:=1 to length(s) do begin
if (s[i]=' ') and (dspace=false) then begin
dspace:=true;
sh:=sh+s[i];
continue;
end else if not((dspace=true) and (s[i]=' ')) then begin
dspace:=false;
sh:=sh+s[i];
end;
end;
rdspace:=sh;
end;
function refspace(s:string):string;
var i,spos1,spos2:integer; sh:string;
begin
sh:='';
for i:=1 to length(s) do begin
if not(s[i]=' ') then begin
spos1:=i;
break;
end;
end;
for i:=length(s) downto 1 do begin
if not(s[i]=' ') then begin
spos2:=i;
break;
end;
end;
for i:=spos1 to spos2 do begin
sh:=sh+s[i];
end;
refspace:=sh;
end;
function caseSens(s:string):string;
var i,ih:integer; sh:string; ch:char;
begin
sh:='';
for i:=1 to length(s) do begin
if (integer(s[i])<97) then sh:=sh+s[i]
else begin
ih:=integer(s[i]);
ih:=ih-32;
ch:=char(ih);
sh:=sh+ch;
end;
end;
caseSens:=sh;
end;
function question(s:string):boolean;
label awal;
var input:char;
begin
awal:
writeln(s);
write('Y/n: '); readln(input);
if caseSens(input)='Y' then question:=true
else if caseSens(input)='N' then question:=false
else goto awal;
end;
function getParam(s:string;int:integer):string;
var i,iparam:integer; sh:array[1..255] of string;
begin
iparam:=1;
for i:=1 to 255 do sh[i]:='';
for i:=1 to length(s) do begin
if not(s[i]=' ') then sh[iparam]:=sh[iparam]+s[i]
else iparam:=iparam+1;
end;
getParam:=sh[int];
end;
function getPCount(s:string):integer;
var i,iparam:integer;
begin
iparam:=0;
for i:=1 to length(s) do begin
if s[i]=' ' then iparam:=iparam+1;
end;
getPCount:=iparam;
end;
function password:string;
var s:string;
sl:byte absolute s; { length of s }
ch:char;
trig:boolean;
begin
write('Enter password: ');
sl:=0; { Set "s" to nil }
trig:=false; { init exit trigger}
repeat
ch:=readkey; { Read a char in ch }
if ch in allowed_chars then { Legal character}
if sl<max_pwd_length then { length is smaller than max length }
begin
inc(sl); { Increase length of s }
s[sl]:=ch; { Last char }
write(mask_char); { Echo with mask character }
end else write(beep) { Beep if would be over max length }
else
if ch=backspace then { Backspace }
if sl>0 then begin { Length bigger than 0 }
dec(sl); { decrease lenght }
write(backspace,space,backspace);{ Move cursor to left, erase (with SPCACE ), move cursor to left }
end else write(beep) { if lenght=0 then beep }
else if ((ch=enter) or (ch=escape)) then trig:=true
else write(beep); {All other characters beep (except Enter or Esc ) }
until trig;
writeln; { CR+LF }
if ch=escape then sl:=0; { Return empty string if ESC was pressed = ABORT }
password:=s; { Return "s" }
end;
procedure dwrite(s:string);
var i:integer;
begin
for i:=1 to length(s) do begin
delay(50);
write(s[i]);
end;
end;
end.
Kalo source mengalami kendala harap lapor dimari ya ...

Mirror:
1. [url]http://S E N S O R/aybPPtKF[/url] <-- ini yang mudah kebaca
2. [url]http://S E N S O R/raw.php?i=aybPPtKF[/url] <-- ini yang tinggal copas.
Diubah oleh angkaputra 06-09-2013 08:57
0
Kutip
Balas