DonanımHaber'de AraYENİ GELİŞMİŞ ARAMA
ForumBu Bölümde Ara
Delphi'de Telefon Rehberi Nasıl Yapabilirim ?
10
Cevap
0
Favori
2.213
Tıklama
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> Delphi'de Telefon Rehberi Nasıl Yapabilirim ?
Sayfaya Git:
Sayfa: 1
Giriş
Mesaj
    • Yarbay
      4322 Mesaj
      29 Ekim 2006 15:55:50
      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.


      _____________________________

    • Yarbay
      2189 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 )



      _____________________________

    • Teğmen
      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
    • Yarbay
      4322 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.



      _____________________________

    • Teğmen
      147 Mesaj
      30 Ekim 2006 18:05:32
      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
    • Yarbay
      4322 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 ?



      _____________________________

    • Yarbay
      3770 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ı
    • Yarbay
      4322 Mesaj
      31 Ekim 2006 17:55:33
      Drony abi şifreli şifreli konuşmayın yaw


      _____________________________

    • Teğmen
      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
    • Yarbay
      3770 Mesaj
      01 Kasım 2006 11:48:59
      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ı
    • Yarbay
      4322 Mesaj
      06 Kasım 2006 14:29:17
      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.


      _____________________________

Sayfa: [1]
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> Delphi'de Telefon Rehberi Nasıl Yapabilirim ?
Sayfaya Git:
Sayfa:
1
Facebook Sayfamız
Foruma Git
Bölümde Ara
Reklamlar
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.