Şimdi Ara

c++ ve wxWidgets hakkında!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
1.207
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Öncelikle selam,

    Ben c++ öğrenmeye yeni başladım. kendime yetecek kadar öğrendim sayılır.
    Bazı problemlerim var tabii bulamadığım.
    1. problemim. c++ programlama yaparken kayıtlı dosyanın (dosya.txt veya benzeri, dosyayı kendim oluşturacağım için çok farketmez) içerisinden herhangi bir satırı okutmak ve x değişkenine atamak istiyorum. bulduğum kodların hiçbiri bu işi yapamadı. satır adı belirterek direk o satırı okutabileceğim bir komut yokmudur?
    2. problemim. aynı şekilde x satıra bir tablo satırı yazdırmak istiyorum ama x. satıra. bunu nasıl yapabilirim?
    3. problemim. bir dizi içerisindeki x karakterlerin hepsini silmek istiyorum. ancak karakteri bulunca sil, sonra ilerisindeki karakterleri kaydır demek istemiyorum döngü ile. karakteri silince diğer karakterleri kaydıracak bir komut varmıdır?

    wxWidgets hakkında .
    c++ bir program hazırladım. bu programı her programcının istediği gibi geliştirip, dos ortamından win ortamında çalıştırmak, hatta program içerisinde çıkacak sonucu seçip sağ tuşla kopyalamak istiyorum.
    yağtığım program exel tablosu gibi.
    örneğin;

    matematik motlarının yazılı olduğu bir alan var diyelim. diğer notlar belli ve girilmiş vaziyette olsun. ama matematik notları 6\n2\n9\n8\n4\n5\n şekilinde.

    yazdırmak istediğim bölüm ise;
    kisi_adi, matematik_notu, fen_notu, türkce_notu
    ben bunu matematik notunu bir textctrl gibi bir alana yapıştırıp butona basınca kişileri sırayla yazacak bir program yapmak istiyorum. bu programda çıktıları satır satır seçip sağ tuşla kopyalamam lamzım.
    Bu nu nasıl yaparım. wxWidgets olması şart değil. derleyici olarak codeblocks kullanıyorum.

    Yardımlarınızı bekliyorum.
    Şimdiden teşekkürler.



    < Bu mesaj bu kişi tarafından değiştirildi akrazi -- 21 Temmuz 2011; 14:32:20 >







  • Merhaba,

    1 - getline() fonksiyonu bir dosyadan satır okumaya yarar. 5. satırı okumak istiyorsan getline()'ı 5 kere çağırırsın, 5. çağrışında 5. satır okunur.

    2- İlk x-1 satırı okursun getline() ile. Sonra tekrar yazarsın bu satırları. x. satıra geldiğinde ise istediğini yazdırır devam edersin.

    3 - Yanlış bilmiyorsam Stack diye bir nesne var C++'ta. Olmadığını varsayalım, yazacağın bir fonksiyon bu işi rahatça halleder ama tabi döngü ile . Stack'i kullanırsan senin yapmak istemediğin döngü otomatik yapılacak, kendin yazarsen sen yaptırmış olacaksın.


    Üstteki öneriler için eminim daha özel fonksiyonlar ve kolay yollar vardır. Direk aklıma geldi yazdım. Kusura bakma. Gerisi hakkında pek bir fikrim yok..
  • bu şekilde yapabiliyorum. ancak döngü içinde 8000 inci satırı okumaya kalkınca programın biraz hantal kalmasına neden olur.
    Yinede cevabın için teşekkürler..
  • Dosya içerisinden taa 8000. satırı okumaya kalkışıyorsan basit dosyalar işini görmüyor demektir, veritabanı kullanmalısın. Veritabanına sadece anahtarı verirsin, o sana ilişkili olan veriyi çıkartır.

    x. satıra tablo yazdırmak demek o satırdaki bilgiyi silmek demektir. Araya eklemeyi düşünüyorsan c++ ın basit dosya fonksiyonlarıyla bu iş zor. Cevap yine yukarıdaki gibi.

    Dizi içerisinden herhangi bir elemanı sildiğin zaman sonrakileri kaydırmak mecburi. E bu iş tabiki döngü ile olacak. Hazır komut ta kullansan o yine döngü ile yapacak. Silinecek elemanları boş diye işaretleyebilirsin ama bu dizi mantığına uymaz, bellek te boşalmaz. Zaten c++ ta böyle işler için dizi kullanılmaz, çok daha sağlam alternatifler var.

    Gelelim sonuncuya. wxwidgets iyiydi hoştu ama Qt lgpl lisansına sahip olunca pek esprisi kalmadı. C++ için açık ara en iyi gui library Qt dir. (Sadece görsellik değil ne ararsan var, akılalmaz genişlikte bir kütüphane. )http://qt.nokia.com/products




  • Verdiğin gilbiler için teşekkürler.

    Dersleri ile birlikte Qt yi indirdim kurdum üzerinde çalışıyorum.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.