Delphi'de Telefon Rehberi Nasıl Yapabilirim ?
10 Cevap1496 Görüntüleme
Bu konudaki kullanıcılar: hiç
  Yazdır
Sayfa: [1]
Giriş
Mesaj


4003 Mesaj
29 Ekim 2006; 15:55:50 
Bu mesajla ilgili şikayetinizi bu icon a tıklayarak yapabilirsiniz. Şikayet PM

Delphi'de Telefon Rehberi Nasıl Yapabilirim ? Bu aradabu konuda daha yeniyim.Form üzerinde neler oluşturacağım onları söylerseniz bide kodlarını da verirseniz çook ii olur.


_____________________________

Seyahatname'm Yazı kağıda düştüğünde okuyucusunu er ya da geç bulacaktır.


2136 Mesaj
29 Ekim 2006; 16:53:35 

bu konuda yeniysen telefon defterinden önce daha basit alıştırmalar yap.
daha sonra telefon defterini yapmaya çalış.

mantığı burada anlatabilirim. istersen . ama çok basit bir algoritması var.

bir ipucu veriyim:
ekrana bir menü oluşturabilirsin: (mesela deftere bak, yeni numara ekle, çıkış gibi )


_____________________________

Yeni Araba sürenlere benden tavsiyeler
İkinci El araba Alma konusu


 
147 Mesaj
29 Ekim 2006; 17:07:05 


Telefon defteri programları basit olduğu için ve kayıt sayısı fazla olmayacaksa Text dosyalarını kullanabilirsiniz. Yoksa veritabanı kullanmanız gerekir. Veritabanı motoru olarak Borland ürünü BDE veya Microsoft ürünü ADO'yu kullanabilirsiniz.

Madem yeni başladınız size basit bir sözlük örneği vereyim. Bu örneği telefon rehberi olarak düzenleyebilirsiniz. Hazırladığım projenin formuna 2 Edit ve 2 düğme yerleştirdim. İlk Edit'e kelimenin ingilizcesi, 2. edit’ ise Türkçesi yazılacak. İlk Edit’e kelimenin ingilizcesi yazılıp “Kaydet” adını verdiğim düğme tıklanacak. Bu amaçla ilk olarak Unit’in implementation bölgesinde “sozluk_dosya” adında bir değişken tanımladım.

Var
sozluk_dosya : TextFile;

Sonra formun FormCreate yordamını aşağıdaki gibi düzenledim. Bu yordama yazdıklarım sayesinde proje ilk kez çalıştırılırken text dosyası hazırlanır.

procedure TForm1.FormCreate(Sender: TObject);
begin
AssignFile(Sozluk_dosya, 'C:\sozluk.txt');
if not FileExists('C:\Sozluk.txt') Then
ReWrite(sozluk_dosya);
end;

Kullanıcı sözlükte yer almasını istediği kelimenin ingilizcesini ve Türkçesini yazıp Kaydet düğmesini tıklayacak. Kaydı yapılmak istenen kelimen sözlükte yer alıyorsa mükerrer kaydı engellemek WrileLn deyimi yazma işlemi yapmadan önce kelimiyi dosyada aradım.

procedure TForm1.KaydetClick(Sender: TObject);
Var
Turkce, ingilizce : String;
Turkce_1, ingilizce_1 : String;
begin
ingilizce := Edit1.Text;
Turkce:= Edit2.Text;
Reset(sozluk_dosya);
While not EOF(sozluk_dosya) Do
begin
ReadLn(sozluk_dosya, ingilizce_1);
ReadLn(sozluk_dosya, Turkce_1);
If (ingilizce=ingilizce_1) or (Turkce = Turkce_1) Then
Begin
ShowMessage('Bu kelime kayıtlı');
CloseFile(sozluk_dosya);
Exit;
end;
End;
CloseFile(sozluk_dosya);
Append(sozluk_dosya);
WriteLn(sozluk_dosya, Edit1.Text);
WriteLn(sozluk_dosya, Edit2.Text);
CloseFile(sozluk_dosya);
Edit1.Text :='';
Edit2.Text :='';
Edit1.SetFocus;
end;

Bu örneğin mükerrer kayıtları eneglemek amacıyla yazılan satırlarını fonksiyon olarak düzenleyip kodu daha okunur yapabilirsiniz. Mükerrer kayıtları engellemek amacıyla yazdığım satırlarda dosyayı Reset() deyimi ile okuma modunda açıp bütün satırları sırayla okuyup Edit’e yazılan yeni kelime ile karşılaştırdım. Söz konusu kelime sözlükte yoksa dosyayı CloseFile() fonksiyonu ile kapatıp Append modunda tekrar açtım.

Şimdi ise "Getir" adını verdiğim düğme için kod yazacağım. Kullanıcı ingilizcesini öğrenmek istediği kelimeyi Türkçe başlıklı Edit’e veya Türkçe’sini öğrenmek istediği kelimeyi ise İngilizce başlıklı Edit’e yazıp “Getir” düğmesini tıklayacak.

procedure TForm1.GetirClick(Sender: TObject);
Var
ingilizce, Turkce : String;
begin
Reset(sozluk_dosya);
While not EOF(sozluk_dosya) do
Begin
ReadLn(sozluk_dosya, ingilizce);
ReadLn(sozluk_dosya, Turkce);
if (Edit1.Text = ingilizce) or (Edit2.Text = Turkce) Then
Begin
Edit1.Text := ingilizce;
Edit2.Text := Turkce;
CloseFile(sozluk_dosya);
Exit;
End;
end;
ShowMessage('Bu kelime kayıtlı değil');
CloseFile(sozluk_dosya);
end;



_____________________________

Memik YANIK - www.memikyanik.com


4003 Mesaj
30 Ekim 2006; 14:50:58 

Teşekkür ederim fakat ben yine birşey anlayamadım.Programın örneğini yayınlayabilir misiniz upload edip ?

Programda olmasını istediğim birkaç basit özellik var ;

1)Ad
2)Soyad
3)tel no (ev-cep-işyeri)
4)Adres
5)kişi hakkında

böyle bölümler olmasını istiyorum.Kaydettikten sonra sadece o program içerisinden girip bilgilere bakabileceğim.

Böyle bi programı nasıl yapabilirim ? formda şunları oluştur sora şu kodları yapıştır diye açıklarsanız memnun olurum.Unitin bilmemneresine şu değişkeni ekledim falan deyince anlamıyorum.(kötü amaçla değil , ben anlamıyorum)

Yardımcı olursanız memnun olurum.


_____________________________

Seyahatname'm Yazı kağıda düştüğünde okuyucusunu er ya da geç bulacaktır.


 
147 Mesaj
30 Ekim 2006; 18:05:33 

Bindalmg arkadaş merhaba; Kitaplarımda forma şunu yerleştirdim vs demek yerine yer yer resim kullandım. Kitaplarını resimle dolduruyor diye eleştiri almaya devam ediyorum... Neyse..
Size verdiğim örnekte text dosyasına 2 bilgiyi sakladım. Siz bunları 4'e çıkarcaksınız. Size önerim önce forma 2 Edit ile Kaydet ve Getir adında 2 düğme yerleştirip verdiğim kodları projenize taşımanız. Sonra konuyu kavradığınızda forma 2 Edit daha yerleştirip koda ekleme yapabilirsiniz.


_____________________________

Memik YANIK - www.memikyanik.com


4003 Mesaj
30 Ekim 2006; 19:33:43 

Sıfırdan başlayanlar için kitap tavsiyeleriniz nelerdir ?Bende Palme yayıncılığın var.Fakat açıkçası fazla işime yaramadı.Daha iyi

anlatan bir kitap biliyorsanız , tavsiyeleriniz nelerdir ?


_____________________________

Seyahatname'm Yazı kağıda düştüğünde okuyucusunu er ya da geç bulacaktır.


 
3670 Mesaj
31 Ekim 2006; 11:48:10 

database çeşitlerinden herhangi birini kullanımıyorsan
anahtar kelime tinifile


_____________________________



Dil Okulu İngilizce
Eğitim kategorisinin en çok satan #1. uygulaması


4003 Mesaj
31 Ekim 2006; 17:55:34 

Drony abi şifreli şifreli konuşmayın yaw


_____________________________

Seyahatname'm Yazı kağıda düştüğünde okuyucusunu er ya da geç bulacaktır.


 
147 Mesaj
31 Ekim 2006; 20:16:33 

Arkadaşlar merhaba; Bindalmg arkadaşımız Delphi ile programcılıkta yeni olduğunu zaten ifade etmişti. O nedenle basit ve kolay kavranacak örnek vermeye çalışmıştım. Burada birisi bizden bir konuda fikir veya yol göstermemizi istediğinde ister istemez herkesin önerisi farklı oluyor. Çok sayıda öneri ile karşılaşan kişi ise ne yapacağını iyice şaşırıyor. Gelelim Drony arkadaşın önerisine. Aslında Ini dosyalar ile az sayıda kayıt içeren bilgiler söz konusu olduğunda oldukça işlevseldir. Delphi'nin TIniFile sınıfı ile ini dosyalara yazma ve okuma son derece kolaydır. Kişisel görüşümü merak ederseniz, ini dosyalar yeni olan birisine önerilmemeli derim.



< Bu mesaj bu kişi tarafından değiştirildi roadster -- 31 Ekim 2006; 20:17:53 >


_____________________________

Memik YANIK - www.memikyanik.com


 
3670 Mesaj
1 Kasım 2006; 11:49:00 

bindalmg arkadaşım sanırım bir yıla yakıdır delphi ile uğraşıyorsun bunu gözlemliyorum.. ama gerçekten çok yavaş ilerliyorsun.. burada sormak yerine yabancı sitlerde birçok örnek var.. bunları inceleyerek kendini geliştirebilirsin. bir hata yaparsın iki hata yaparsın sonunda anlarsın.. en güzel öğrenme yolu yapboz dur.. örneklerde ufak değişiklikler yaparak sonucu gözlemle...


tinifile bir tanımlamaya ait birden fazla değişken için karmaşık olabilir..
en basitinden bir string içinde tüm bilgileri saklayabilirsin. mantık olarak çok basittir. hem tinifile birlşeni &4k sıırı vardır. bu sınırı geliştirmekte biraz karışıktır.

özetle
bir stringi içine birden fazla bilgi girerek örn. adres, isim ,soyad vs.. gibi bunalrıda birbirinden ayıracak bir seperate word olması lazım.. şuan dediklerimden birşey anlamayabilrsin.

örnek :

Function GetParsedItem(TheItemStr, ParseStr : String; ItemNum : Integer): String;
Var
I4 : Integer;
S4 : String;
Begin
TheItemStr := TheItemStr + ParseStr;
S4 := '';
I4 := 0;
While I4 <= ItemNum Do
Begin
S4 := Copy(TheItemStr, 1, Pos(ParseStr, TheItemStr) - 1);
Delete(TheItemStr, 1, Pos(ParseStr, TheItemStr));
Inc(I4);
End;
Result := S4;
End;



kullanımı

var
adres,ad,soyad:string
begin
bilgi:='xxx cad xx sok=mesut=arıdoru';

adres:=GetParsedItem(bilgi,'=',0);
ad:=GetParsedItem(bilgi,'=',1);
soyad:=GetParsedItem(bilgi,'=',2);




delphi kurulu olmadığı için deneme imkanım olmadı.. ama hata yoktur.. üstteki örnek çalışırsa enter kırmasını nasıl aşacağınıda anlatırım

kısacası stringi parçalayarak istediğimiz veriyi aradan çekebiliriz.


_____________________________



Dil Okulu İngilizce
Eğitim kategorisinin en çok satan #1. uygulaması


4003 Mesaj
6 Kasım 2006; 14:29:18 

Drony , yavaş ilerlediğimin farkındayım.Nedeni ise lise 3 te olmamdan kaynaklanıyor.Seneye kursuna gideceğim inş.Mesajın için teşekkürler.


_____________________________

Seyahatname'm Yazı kağıda düştüğünde okuyucusunu er ya da geç bulacaktır.
Sayfa:   [1]
Tüm forumlar » [Web Tasarım - Programlama] » Yazılım Geliştirme » Delphi / C++ /Vb » Delphi'de Telefon Rehberi Nasıl Yapabilirim ?
Sayfa: [1]
Foruma Git
Bölümde Ara
Başa Dön


 
Reklamlar


DH VİDEO

 



Forum Software powered by ASP Playground Advanced Edition 2.3
Copyright © 2000 - 2006 ASPPlayground.NET

Bu sayfanın mobil sürümü / tablet sürümü / mini sürümü.



0.219