PROGRAMLAR SCRIPTLER KODLAR HABERLER İLETİŞİM
Arşivimde ara Program Script Hazırkod
Ara
ÜYELİK AKTİVASYONU HABERLER WEBMASTER ARAÇLARI SİTENE EKLE REKLAM VER İLETİŞİM
    Program : 12788 Adet  |  Script : 5 Adet  |  Hazırkod : 2748 Adet  |  Haber : 211 Adet
HAZIR KODLAR
ADO.NET - ADO
ASP
ASP.NET
C #
C ++
CGI
COMPONENT
DATABASE
DELPHI
FLASH
HTML
JAVA - JSP
JAVA SCRIPT
PASCAL
PERL
PHP
VISUAL BASIC
VISUAL BASIC.NET
WML
XML
 
İNTERNET PAKETLERİ
ADSL BAŞVURU
SMİLE BAŞVURU
TURK.NET BAŞVURU
TELLCOM İNTERNET PAKETİ
SUPERONLİNE BAŞVURU
TTNET İŞYERİM PAKETİ
TTNET VİTAMİN PAKETİ
 
SCRIPTLER
AJAX SCRIPTLERI
ASP SCRIPTLERI
ASP.NET SCRIPTLERI
C # SCRIPTLERI
C ++ SCRIPTLERI
DELPHI SCRIPTLERI
JAVA - JSP SCRIPTLERI
JAVA SCRIPT SCRIPTLERI
MIRC - IRC SCRIPTLERI
PERL SCRIPTLERI
PHP SCRIPTLERI
VISUAL BASIC SCRIPTLERI
 
İSTATİSTİK
Tekil [Bugün] : 63  
Çoğul [Bugün] : 342  
Tekil [Genel] : 232.417  
Çoğul [Genel] : 2.601.808  
 


Formatli yazdirma......
Açıklama :
yazdirma..... Formatli
 
ARKADAŞINA GÖNDER HEPSİNİ SEÇ

FORMATLI YAZDIRMA

Tanımlama: Aşağıdaki tanım basit bir örnektir.



format FORMATIM =



===================================



B a s k ı F o r m a t ı d ı r

===================================



.



syntax:



format FORMAT_ADI =

----

---- çıktı satırları

----

----

.



BASKI FORMATINI GÖSTERME

Bu işlem için iki şeye ihtiyaç vardır.

Kullanmak istediğiniz formatı, $~ sistem değişkenine(sistem değişkenlerini göreceğiz), set edin.
write fonksiyonunu çağırın.
Bununla ilgili bir örnek program görelim.



Ör. program: #! /usr/bin/perl

$~="FORMATIM";

write;

format FORMATIM =

=====================

g ö r mek i s t e d i ğ i n i z t e x t

=====================

.



çalıştır ¿



=====================

g ö r mek i s t e d i ğ i n i z t e x t

=====================



İzah: format adı ( FORMATIM ) sistem değişkenine ($~) atandığında perl şunu anlar.

write fonksiyonu kullanıldığında atanan format basılacaktır.

Son kısımda ise formatın tanımlanması vardır.



Not: eğer $~ sistem değişkenine atanma olmasaydı, yazdırma işlemi standart çıktıya (STDOUT) olacak şeklinde algılanacaktı.



BASKI FORMATINDA DEĞERLERİ GÖSTERME



Tabi ki bu işlemin amacı değişken ve dizilerdeki değerlerin uygun biçimde yazdırılmasıdır.



Ör. program:(Sesli harfleri bulur sayar ve basar)

1:#!/usr/local/bin/perl

2:

3: while ($kayit = <STDIN>) {

4: $kayit =~ s/[^aeiou]//g;

5: @sesliler = split(//, $kayit);

6: foreach $sesli (@sesliler) {

7: $seslisayisi{$sesli } += 1;

8: }

9: }

10: $~ = "SESLIFORMAT";

11: write;

12:

13: format SESLIFORMAT =

14: ==========================================================

15: text içindeki sesli adedi:

16: a: @<<<<< e: @<<<<<

17: $seslisayisi {"a"}, $seslisayisi {"e"}

18: i: @<<<<< o: @<<<<<

19: $seslisayisi {"i"}, $seslisayisi {"o"}

20: u: @<<<<<

21: $seslisayisi {"u"}

22: ==========================================================

23: .



çalıştırılır¿



Bu bir sesli harf bulma testidir.

Kartal Cimbomu yendi.



^D

==========================================================

text içindeki sesli adedi:

a: 4 e: 3

i: 6 o: 1

u: 3

==========================================================



çalışması: satır girilir.

4. satırda; a,e,i,o,u dışındakiler elenir

5. satırda; kalanlar(sesli) @sesliler dizisine aktarılır.

6. satırda; sesliler sayılır (@sesliler dizisi test edilerek) ve %seslisayisi bileşik dizisine eklenir.

10. satırda; basım formatı SESLIFORMAT olarak Set edilir.





NOT:

Değer alanları formatları için tanımlanan değerler hakkında 3 şeyi not etmeliyiz.

alanların içerikleri basılır.
alan boşluklarını hizalamaya gerek yoktur.
alanlar bir üst satırda tanımlı formata uygun tanımlanırlar.




DEĞER ALANI FORMATI SEÇİMİ



Geçerli değer alanı formatları tablosu





Alan Değer Alan Formatı



@<<< sola dayalı baskı



@>>> sağa dayalı baskı



@||| merkeze dayalı baskı



@##.## sabit noktalı sayısal baskı



@* çok satırlı text





Not: @* haricinde tüm tanımlarda alan ölçüsü tanımlı karakter sayısı kadardır. Bu sayıya @ karakteri dahildir. Örneğin;

@>>>> tanımı 5 karakter uzunluğu belirtir. Benzer şekilde

@##.## uzunluğu 6 dır(. da dahil)





ÇOK SATIRLI ALAN FORMATI KULLANIMI



Ör prog.



#!/usr/local/bin/perl

@kayit = <STDIN>;

$karakterler = join("",@kayit);

$~ = "SATIRLAR";

write;

format SATIRLAR =

****** Girdiğiniz dosyanin icindekiler: ******

@*

$karakterler

*****************************************

.



çalıştır: program.pl ¿



ilk satir

ikinci satir

ucuncu satir

****** Girdiğiniz dosyanin icindekiler: ******

ilk satir

ikinci satir

ucuncu satir

*****************************************



2. satır file'ın tamamını @input dizisine atar. Her bir satır dizinin bir elemanı olarak yerleşir.

3. satır girilen satırları tek karakter stringi olarak $stringe birleştirerek yerleştirir. Bu karakter stringi newline karakterlerini de içermektedir.

6. satır formatı çağırarak bastırır . @*tanımı çok satırlı text olarak formatlar.



DİĞER ÇIKTI DOSYALARINA YAZMA

Şu ana kadar write fonksiyonu ile standart çıktı dosyasına yazılma örnekleri gördük. Diğer dosyalara da yazdırabiliriz. En kolayı write'a argüman olarak file'ı geçirmektir. Örneğin DOSYAM ile temsil edilen dosyaya yazmak için (DOSYAM print formatı kullanarak) şu ifadeyi kullanırız; write (DOSYAM);



Bu örnekte DOSYAM file adı ve format adı olarak kullanılıyor bu düzenli ve hoştur ama bazı kısıtlamaları vardır. Böyle bir durumda $~ kullanılamaz.(print format seçimi için). $~ sistem değişkeni default file değişkeniyle çalışır. O da write ile çıktıya gönderilir. default file variable'nı değiştirmek böylece $~ da etkin file'ı değiştirmek için hazır select fonksiyonu kullanılır.



select (DOSYAM);



Select kullanım için default file değişkenini set eder. Örneğin; file değişkeni DOSYAM ile temsil edilen, dosyaya yazmak amacıyla FORMATIM print formatını kullanmak için;



select(DOSYAM);

$~ = "FORMATIM";

write;



kodlamak gerekir. Bu kodlama ile FORMATIM formatı DOSYAM değişkeni ile birleştirilmiş oldu. Bundan sonra write artık bu dosyaya yazdırmaya başlar. Eğer tekrar standart çıktıya yazdırmak istersek



select(STDOUT); komutunu kodlarız.



Not: select kullanımı sadece write ' a değil print ' e de etki eder.



Select fonksiyonu çok kullanışlı olup aynı altyordamla aynı anda birden fazla dosyaya yazdırma imkanı sağlar. Örnek programda bunu görebiliriz.





1: #!/usr/local/bin/perl

2:

3: open (DOSYA1, ">dosya1");

4: $karakterler = "Denemeler";

5: select (DOSYA1);

6: &kayityaz;

7: select (STDOUT);

8: &kayityaz;

9: close (DOSYA1);

10:

11: sub kayityaz {

12: $~ = "KAYITYAZ";

13: write;

14: }

15:

16: format KAYITYAZ =

17: CIKTI DOSYALARIMA@<<<<< YAZIYORUM.

18: $karakterler

19: .



çalışması: program.pl¿



CIKTI DOSYALARIMADeneme YAZIYORUM.



Yukardaki satır hem ekrana hem de dosya1 isimli dosyaya yazar.







Not: select ve $~ rastgele kullanılmaz format takibini kaybedebiliriz. Aşağıdaki örnekteki gibi kullanım uygundur .

select (DOSYAM);

$~ = "FORMATIM";

write;





DEFAULT FİLE DEĞİŞKENİNİ SAKLAMAK (SAVE) .



Select son seçilen file değişkeninin içeriğini tutar. Örneğin;



$eskidosya = select(YENIDOSYA);

select ($eskidosya);

şeklindeki kullanımla da önceki dosya lazım olduğunda kullanılabilir.



Select ile seçim işini bir alt programla yapar ve programın geri kalanını etkilemede kullanabilirsiniz. Aşağıdaki örneği bu amaçla kullanabilirsiniz, inceleyin.



sub standarta_yaz {

local ($dosyasakla, $formatsakla);

$dosyasakla = select(STDOUT);

$formatsakla = $~;

$~ = "FORMATIM";

write;

$~ = $formatsakla;

select($dosyasakla);

}



Bu alt program default olarak STDOUT set etmek için select'i çağırır. select'in dönüş değeri önceki default file' dır ve $dosyasakla içine saklanmıştır. Sonraki adım STDOUT' a yazmak için kullanılan printformatı save etmektir. Altyordam bunu, $~ halihazırdaki değerini $formatsakla değişkenine saklayarak yapar ve sonra altprogram, FORMATIM 'ı printformatı olarak set eder..(o an kullanımda olacak printformat olarak) write çağrıldığında artık standart output dosyasına FORMATIM formatını kullanarak yazar.

Birinci adım; $~' i $formatsakla içindeki değere resetlemek,

son adımda $dosyasakla içindeki file' ı default output olarak set etmektir.



SAYFA BAŞLIK AYARI



dosyaadı_TOP



örnek: format STDOUT_TOP =

Ertanlar Kollektif Şirketi

.



yukarıda tanımdaki format her sayfa başına yazacaktır. Bu alanda değişkenlerde kullanılabilir(diğer format tanımlarında olduğu gibi) sayfa başlarına yazılan sayfa numaralarını sistem değişkeni olan

$% tutar.



örnek:



format STDOUT_TOP =

Sayfa @<<.

$%

.

bu tanımla mesela 1.sayfa basılırken sayfanın üzerindeki baskı şöyle çıkar.

Sayfa 1.



BAŞLIK BASKI FORMATINI DEĞİŞTİRME



Bu işlem için $^ sistem değişkeni kullanılır. $~ de olduğu gibi default file değeri değişir. Örneğin; başlık formatı olarak BASLIGIM baskı formatını ve başlık file ' ı olarak ta DOSYAM ' ı kullanmak için şu ifadeleri ekleriz.



$eskidosya = select(DOSYAM);

$^ = "BASLIGIM";

select($eskidosya);

.



SAYFA UZUNLUĞU ARALIĞI



Bu iş için $= sistem değişkeni kullanılır. Default değer 60 satırdır. Mesela 66 satıra ayarlamak için şöyle yazarız.



$= = 66; bu atama ilk write' dan önce yapılmalıdır.sayfa ortasında böyle bir ayar yapılırsa sonraki sayfadan geçerli olur.



Baskı ve uzunluk ayarı ve formatı kullanan program örneği aşağıdadır.



Ör11.08

1: #!/usr/local/bin/perl

2:

3: open (BASKI, ">dosya.dat"); #çıktı file' ı tanımlandı.

4: select (BASKI);

5: $~ = "SATIRYAZ"; #çıktı formatı(OUTFILE için) bu atama sayfa başlığını #içermez.

6: $^ = "TOP_OF_PAGE"; #OUTFILE için satır başlığı formatı belirlendi.

7: $= = 60; #satır ayarı 60 olarak belirlendi.

8: while ($satir = <STDIN>) {

9: write;

10: }

11: close (BASKI);

12:

13: format TOP_OF_PAGE =

14: - sayfa @<

15: $%

16: .

17: format SATIRYAZ =

18: @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

19: $satir

20: .



çalışması: program.pl ¿

bu bir satirdir

bu ise ikinci satirdir

son satir da bu olsun bakalim.

^D



$ more dosya.dat (dosya.dat içeriğini görelim)



- sayfa 1

bu bir satirdir

bu ise ikinci satirdir

son satir da bu olsun bakalim.



UZUN KARAKTER STRİNGLERİN FORMATI



@* multiline text karakteri ile çok satırı alt alta yazdırmıştık ama bunda formatlama yoktu. Düzgün basım formatı için başlangıçtaki @ yerine ^ karakteri kullanırız.



Örnek :program.pl



1: #!/usr/local/bin/perl

2:

3: $string = "Bu dengesiz satır örneğidir. ";

4: $~ = "OUTLINE";

5: write;

6:

7: format OUTLINE =

8: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<

9: $string

10: .



çalışması: program.pl ¿



Bu dengesiz satır





Not: 8.satırda ^ yerine @^kullanılsaydı çıktı şöyle olurdu.



Bu

dengesiz satır

örneğidir.


Şimdi çok satırlı, formatlı bir örnek görelim.



Örnek:program.pl



1: #!/usr/local/bin/perl

2:

3: @aktarma = <STDIN>;

4: $aktarma = join("",@aktarma);

5: $~ = "ALINTI";

6: write;

7:

8: format ALINTI =

9: Günün sözü:

10: -----------------------------

11: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

12: $aktarma

13: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

14: $aktarma

15: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

16: $aktarma

17: -----------------------------

18: .



çalışması: program.pl ¿



Etkin bir programlama dili

programcinin eli ayagidir sihirli bir asadir.

^D



Günün sözü:

-----------------------------

Etkin bir programlama dili programcinin eli ayagidir

sihirli bir asadir.

-----------------------------







FORMATLAMA ANINDA BOŞ SATIRLARI ELEMEK



Bu işlev için yukardaki örnekteki 11,13,15. satırların en başına ~ karakteri konur.Diğer kısımlar aynıdır.



11: ~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
12: $aktarma
13: ~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
14: $aktarma
15: ~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
16: $aktarma



BELİRSİZ SAYIDA SATIR GİRMEK.



Bunun içinde ~~ sembolü kullanılır.



1: #!/usr/local/bin/perl
2:
3: @aktarma = <STDIN>;
4: $aktarma = join("", @aktarma);
5: $~ = "ALINTI";
6: write;
7:
8: format ALINTI =
9: Günün Notu :


10: -----------------------------
11: ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
12: $aktarma
13: -----------------------------
14: .

çalışması: ¿



bir başarılı proglamlama dili

iyi dizayn edilmişse büyüden farksızdır.

^D

Günün Notu :

----------------------------
bir başarılı programlama dili
iyi dizayn edilmişse büyüden farksızdır.
-----------------------------


ÇIKTI FORMATLAMADA printf

Aşağıdaki argümanlar printf ' ye geçirilir.

a) Bir veya fazla alan tanımlayıcı içeren basılacak string
b)Basılacak string de görülecek her alan için bir değer.

Alan tanımlayıcıları tablosu aşağıdadır. % işaretiyle kullanılırlar.

%c tek karakter
%d 10 tabanlı integer
%e bilimsel floating-point
%f floating-point (sabit noktalı)
%g floating-point (birleşik format)
%o oktal tamsayı (integer)
%s string
%u işaretsiz tamsayı
%x 16 tabanlı integer

Örn:
printf("Bastırmak istediğim sayı : %d. ", $toplam);

printf ' ile ilgili bazı özellikler


eğer d,o,u,x önüne l (le) koyarsak Long anlamındadır(uzun integer) %ld gibi... bu durum integer çok rakamlıysa kullanılmalıdır.
pozitif tamsayı uzunluk gösterir. Örneğin; %20s ifadesi 20 karakter uzunluğunda string anlamındadır. Ve sağa dayalı yerleşir.
eğer negatif sayı ile verilirse alan dolmadığında sola dayalı yerleşir. Örneğin; %-20s sola dayalı 20 karakter (alan dolmazsa)
eğer e,f,g kullanıyorsak noktadan sonraki hane sayısını verebiliriz.


Şöyleki;



%8.3f







alan genişliği nokta sonrası



Not: eğer rakam fazla girilmişse yuvarlama yapılır. Örneğin;



Tanım değer

%5.2f 43.499 girilmişse değer 43.50 olur.



Şu örnekte; %15.10s ise

String 15 karakter uzunluğunda bir alana basılacak ama stringin kendisi en fazla 10 karakter uzunluğunda olacak ifadesi vardır. (bu durum basılacak alanda 5 tane boşluk garanti eder).



Not: printf ile diğer dosyalara da write ' da olduğu gibi yazma işlemi yapılır.

printf DOSYAM ("Toplam: %d. ", $toplam);




Hazırkod Tanıtımı
yazdirma..... Formatli
İzlenme  105 Kez
Hit  0 Adet
HAZIRKOD HAKKINDA YAPILAN YORUMLAR
Yorum eklemek için tıklayınız
 
Bu hazırkod hakkında herhangi bir yorum yapılmamış!
 
KULLANICI GİRİŞİ
   
GİRİŞ
   
Yeni Kayıt
Yardım
 
GOOGLE REKLAMLARI
 
ETİKETLER
6770
hotkey driver for sony vg...
CINAR SiTESi
1020924
Ehliyet Sınav Sonuçları
1058847
SELiN
Sayısal Loto Sonuçları
phped 5.9 serial
1014016
314515
Açık Öğretim Sınav Sonuçları
is KOLU
220229
haber script
Acik Ogretim Sinav Sonucl...
T.C. Kimlik No Sorgulama
ENG TEKNiK MAKiNA
ntvekonomi
page
ssk isyeri no 5941
32622
SSK Prim Sorgulama
38562
1136729
 
Sitede yayınlanan dosya ve dökümanların kullanımları sonucu oluşabilecek zararlardan duzenle.com sorumlu değildir.
duzenle.com sitesinde yayınlanan tüm program, script ve benzeri dökümanları kurmadan yada çalıştırmadan önce virüs taramasından geçiriniz.

PROGRAMLAR SCRIPTLER KODLAR HABERLER İLETİŞİM