İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Delphi 7 Köşesi...

sivaspor08.09.200992 cevap16.069 görüntüleme
2009'den beri1.676 mesaj
#61
Yaptığım yazılımda ondalık simgesi olarak nokta (.) kullandım. Kendi bilgisayarımda nokta tanımlı ama kullanılmasını istediğim başka bilgisayarda virgül kullanılmış ve aşağıdaki şekilde ki uyarıyı alıyorum. Ondalık simgesini nokta yaptığımda sorun çözülüyor ancak sürekli bu şekilde mi yapmam gerekli, bunun pratik bir çözüm yolu var mı?

Cevaplar
2008'den beri9.100 mesaj
#62
Bu sorun Regional Settings ayarlarından kaynaklanıyor. Windows ayar kaynaklı.
(Not :Resimi görmüyorum, ama bilinen bir konu)
2009'den beri1.676 mesaj
#63


Resimi başka servera yükledim.
Bu sorunun çözümü var mı?
2008'den beri6.607 mesaj
#64
C# 'da bunu tek satırla hallediyoduk. Neyse windowsta kullanılan ondalık ayracı öğrenmeye yarayan kod:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyDecimal: PChar;
begin
  MyDecimal:=StrAlloc(10);
  GetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT, 
    LOCALE_SDECIMAL, 
    MyDecimal, 
    10);
  Label1.Caption:='System decimal is - "'+MyDecimal+'"';
end;
2009'den beri1.676 mesaj
#65
N3CAT1 dedi: ↑
C# 'da bunu tek satırla hallediyoduk. Neyse windowsta kullanılan ondalık ayracı öğrenmeye yarayan kod:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyDecimal: PChar;
begin
  MyDecimal:=StrAlloc(10);
  GetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT, 
    LOCALE_SDECIMAL, 
    MyDecimal, 
    10);
  Label1.Caption:='System decimal is - "'+MyDecimal+'"';
end;
Bunu öğrendiğinde yine değiştirmek için kodlamam gerekli değil mi? Bu aralar çok hızlı düşünüyorum :)

teşekkürler moderatörüm bu arada uşaklısın diye biliyorum, uşaktan yazılımla ilgilenen arkadaşları görmek ilginç ve mutluluk verici :)
2008'den beri6.607 mesaj
#66
Windowstaki karaktere göre mantığını değiştireceksin.
2008'den beri9.100 mesaj
#67
@webrettin;
Resim görememek benden kaynaklı sorun. Proxy var ve engelliyor çoğu şeyi.
Konuya gelirsek Muhtemelen program kurulum esnasında bu ayarları alan veya ilk çalıştırmada bu ayarları kaydedip oradan okuyan bir .ini dosyası hazırlayacaksın gibi. diğer türlü programın her çalışmasında bu ayarları yapmak için bu fonksiyonu çalıştırması gerekir.
2009'den beri1.676 mesaj
#68
evowinds dedi: ↑
@webrettin;
Resim görememek benden kaynaklı sorun. Proxy var ve engelliyor çoğu şeyi.
Konuya gelirsek Muhtemelen program kurulum esnasında bu ayarları alan veya ilk çalıştırmada bu ayarları kaydedip oradan okuyan bir .ini dosyası hazırlayacaksın gibi. diğer türlü programın her çalışmasında bu ayarları yapmak için bu fonksiyonu çalıştırması gerekir.
Şimdi daha iyi oldu. Teşekkürler arkadaşlar bundan sonrası biraz çalışmayla olacaktır, sorumu sonuçlayan ilgili arkaşlarıma teşekkür birer borç.
2009'den beri3.025 mesaj
#69
Delphi hala yaşıyor mu veya yaşatılıyor mu?
2009'den beri1.676 mesaj
#70
ByEGT dedi: ↑
Delphi hala yaşıyor mu veya yaşatılıyor mu?
Daha iyi öneriler için fevkalede açığım. elimdeki yazlımı bitirince Java ile ilgili dökümanlar edindim. Sanırım onunla çalışıcam. ama yeteri kadar kaynak ve lojistik destek bulabilir miyim, bilmiyorum. delphiyi kaynak ve desteğinin çokluğu nedeniyle seçtim, delphiden önce tecrübem yoktu. Sizin önerileriniz varsa değerlendireceğimden emin olabilirsiniz ve memnuniyet duyarım.
2008'den beri6.607 mesaj
#71
C# 'da daha fazla destek bulabileceğine emin olabilirsin :)
2008'den beri9.100 mesaj
#72
C# iyi güzel ve doküman çok ama ben hala syntax'ına alışamadım. Pascal hala bende bir numara.
2008'den beri6.607 mesaj
#73
Bana da delphinin syntaxı zor geliyor.

Özellikle = yerine := koymak tam bir işkence oluyor :)
2009'den beri1.676 mesaj
#74
Ondalık hakkındaki sorunum bahsettiğiniz şekilde simgeyi sorgulayarak mantığı değiştirerek oluyor, formlarda labelların ve editlerin fazlaca olduğunu düşünürsek (ki maalesef öyle) yazılımın çalıştığı PC'ye ait ondalık sistemini delphiyle değiştiremez miyiz? bunun önünde bir engel var mı?
2008'den beri6.607 mesaj
#75
Değiştirebilirsin ama kullanıcı elle değiştirirse sorun olur. Gerçi program her açıldığında kontrol edip değiştirilmişse ayracı senin belirlediğine değiştirirse olabilir. Ondalık ayracı değiştirme kodu:
procedure TForm1.Button1Click(Sender: TObject);
begin
      SetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT,
    LOCALE_SDECIMAL,
    ',');
end;
2009'den beri1.676 mesaj
#76
N3CAT1 dedi: ↑
Değiştirebilirsin ama kullanıcı elle değiştirirse sorun olur. Gerçi program her açıldığında kontrol edip değiştirilmişse ayracı senin belirlediğine değiştirirse olabilir. Ondalık ayracı değiştirme kodu:
procedure TForm1.Button1Click(Sender: TObject);
begin
      SetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT,
    LOCALE_SDECIMAL,
    ',');
end;
Siz bu işi biliyorsunuz tebrik ederim sistem ikinci bonusu vermiyor. Çok teşekkür ederim.:thumbup:

yıllar sonra bile bu kodların birilerinin işine yarayacağına eminim.
2008'den beri7.675 mesaj
#77
Ondalık ayırıcıyı değiştirmek sorun çıkaracaktır. Hatta program kullanıcıyı sinir dahi edebilir.

Yakında Delphi 2011 ile cross platform desteği geliyor. Bu sayede oluşturduğunuz bir proje Windows, Linux ve Mac işletim sistemleriyle çalışabilecek. (Umarım Kylix gibi olmaz.) ve beklenen 64bit desteğide geliyor.
2008'den beri6.607 mesaj
#78
Deplhi 'de şu syntax meselesi kullanışlı olsa anında geçerdim :)
2008'den beri9.100 mesaj
#79
webrettin dedi: ↑
Ondalık hakkındaki sorunum bahsettiğiniz şekilde simgeyi sorgulayarak mantığı değiştirerek oluyor, formlarda labelların ve editlerin fazlaca olduğunu düşünürsek (ki maalesef öyle) yazılımın çalıştığı PC'ye ait ondalık sistemini delphiyle değiştiremez miyiz? bunun önünde bir engel var mı?
Kullanıcının sisteminde başka veritabanı veya yerel ayarlarla çalışan programlar varsa sorun olabilir. Belki nazikçe bir uyarı mesajı koyabilirsin :)
2009'den beri1.676 mesaj
#80
evowinds dedi: ↑
Kullanıcının sisteminde başka veritabanı veya yerel ayarlarla çalışan programlar varsa sorun olabilir. Belki nazikçe bir uyarı mesajı koyabilirsin :)
Bir nevi sözleşme kabulü gibi oldukça yerinde denemeden sorayım açılışta kontrol edecek değilse değiştireyim mi diye kullanıcıya değişmesi gerektiği hakkında uyarı ve onay bildirimi yapıyorum bu esnada uyarıdan sonra çalışacak olan ondalık düzenimi okuyup hata verir mi?
2008'den beri9.100 mesaj
#81
uyarıdan sonra çalışacak olan ondalık düzenimi okuyup hata verir mi?
Bu noktayı tam anlamadım?
2009'den beri1.676 mesaj
#82
evowinds dedi: ↑
Bu noktayı tam anlamadım?
Anlatımım biraz karmaşık oldu açayım. gerçi birazdan derleyip deneyeceğim. Ondalık simgesi değişik olduğunda hata veriyordu ve sizlerin verdiği kodlarla hatanın önüne geçtim. Siz bunun bölgesel ayarlarla çalışan uygulamalarda sorun çıkarmaması ve kullanıcı bilgisi dahilinde olması için uyarı vermemi istediniz. Yazılım ilk çalıştığında bu uyarı ve simge değiştirme onay penceresi çıkacak sormak istediğimde burda başlıyor hata verecek olan problem henüz değişmediği için kullanıcı onaylayasıya kadar peş peşe hata alır mıyım? teşekkürler derlemeyi hazırlayıp sonucu vakit olursa buraya yazayım.

Ek: Yazlımıma göre bahsettiğim hatayı verdi ama aşılamayacak bir sorun değil artık benim için problemli yerleri yardımlarınızla geçtim, tekrar emekleriniz için teşekkürler;
2006'den beri1.716 mesaj
#83
N3CAT1 dedi: ↑
Değiştirebilirsin ama kullanıcı elle değiştirirse sorun olur. Gerçi program her açıldığında kontrol edip değiştirilmişse ayracı senin belirlediğine değiştirirse olabilir. Ondalık ayracı değiştirme kodu:
procedure TForm1.Button1Click(Sender: TObject);
begin
      SetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT,
    LOCALE_SDECIMAL,
    ',');
end;
Bu kod benim de işime yarayabilir. Bazı kullanıcılardan ben de floating point hatası alıyordum. Sistemimde deniyorum bende düzgün çalışıyor, sinir olmuştum :D yeni versiyonda ben de bu kodu kullanırım. Teşekkür ederim, bir hatayı daha kapattık :D
2009'den beri1.676 mesaj
#84
N3CAT1 dedi: ↑
Ondalık ayracı değiştirme kodu:
procedure TForm1.Button1Click(Sender: TObject);
begin
      SetLocaleInfo(
    LOCALE_SYSTEM_DEFAULT,
    LOCALE_SDECIMAL,
    ',');
end;
Herkese yeniden merhaba. Bu konu hakkında yine bir sorum olacak. yukarıda ki kodu en azından bendeki kaynaklarda bulmak neredeyse mümkün değil. Bu tür çözümleri örneğin internetin açılış sayfası değişmeyecek şekilde müdahaleye uğradı ve çözülmesi gerekli, kayıt defterinde değişiklik yaparak sorunu çözebiliyoruz. Kayıt defterine müdahaleyi bilen tüm kişiler bunu bu şekilde çözebilir. Ondalık vb değişimler için gereken kodları nasıl elde edebiliriz, kısaca makinadan bu komutlara ulaşabileceğim elde edebileceğimiz yerler var mı? Ya da bu gibi konularda tavsiye edebileceğiniz kaynak önerir misiniz?
2006'den beri1.716 mesaj
#85
Bir soru da ben sorayım: programın açılışında dosya adresi almasını nasıl sağlarım? yani mesela kendim bir dosya uzantısı yaptım .abc şeklinde. bu dosyayı sadece benim programım açıyor, klasörlerde dolaşırken herhangi bir .abc uzantılı dosyaya çift tıklandığında benim programla açmasını nasıl sağlarım? C dillerinde main fonksiyonunun "string[] args" şeklindeki parametresiyle açılmaya çalışılan dosyanın adresini alabiliyoruz, aynı işlemi delphi ye uygulayamadım. bilen var mı???
2008'den beri6.607 mesaj
#86
FormCreate olayında şu kodla mevcut parametreleri alabilirsin:

if Paramstr(1)='' then
 ShowMessage('Parametre yok')
else
 ShowMessage('Parametre: '+paramstr(0));


ParamStr(0) = Exe dosyasının bulunduğu yer
ParamStr(1) = 1. parametre
ParamStr(2) = 2. parametre
.
.
.
ParamStr(n) = n. parametre
2006'den beri1.716 mesaj
#87
N3CAT1 dedi: ↑
FormCreate olayında şu kodla mevcut parametreleri alabilirsin:

if Paramstr(1)='' then
 ShowMessage('Parametre yok')
else
 ShowMessage('Parametre: '+paramstr(0));


ParamStr(0) = Exe dosyasının bulunduğu yer
ParamStr(1) = 1. parametre
ParamStr(2) = 2. parametre
.
.
.
ParamStr(n) = n. parametre
Eyvallah arkadaşım on numara oldu :D bonusu hakettin :) konunun adını bilemediğim için google'da da aratamamıştım. tekrar çok teşekkür ederim...
2006'den beri98 mesaj
#88
lazarus kullanan var mi ?
2008'den beri1.108 mesaj
#89
Delphiciler http://www.delphiturk.com adresindeki "Delphi Türk Kodbank 3.1" programını indirip kurar ve güncellerseniz 5000'den fazla delphi örneğine ulaşabilirsiniz. Ayrıca siteye üye olup kendi kodlarınızı gönderebilirsiniz
2008'den beri9.100 mesaj
#90
pcman dedi: ↑
lazarus kullanan var mi ?
Ben biraz kurcalıyorum.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.