Şarta Göre StringReplace

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Şarta Göre StringReplace

Mesaj gönderen vkamadan »

Merhaba ,
Elimde 160Mb lik benim oluşturttuğum bir SQL Script şeklinde backup dosyası var. (MySQL) bu yedeği programımın içinden oluşturtuyorum fakat double alanların yedeğini alırken 100.20 yerine 100,20 şeklinde Scripte eklemişim, işletim sistemi decimalseperatorunu değiştirerek denememe rağmen yedekten dönme işleminde ondalık kısmı almadığını ancak nokta ile ayırarak aldığımda döndüğünü farkettim, sorun şuki verilerini kaybetmiş ve elinde sadece böyle bir yedek olan bir müşterimizin bilgilerini kurtarabilmemiz için dev gibi script in içindeki önünde yada arkadasında rakam olan virgülleri noktaya çeviren bir fonksiyona ihtiyacım var.Forumda hızlı çeviri fonksiyonları var bunları belirttiğim şarta göre nasıl kullanabilirim.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

pos() ile virgülleri ararsın. pos() zaten kaçıncı karakter de virgül bulduğunu dönüyor.sen bir önceki ve bir sonraki karakterin numeric olup olmadığını kontrol ederek replace tapabilirsin.
DeveloperToolKit

..::|YeşilMavi|::..
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

mysql.ini dosyasında decimal ve thousand seprator ayarları olması gerekir. MySQL makinanın parematrelerini okumaz.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

MErhaba ,
sanırım en anlamlı yol mysql.ini dosyasında gerekli değişikliği yapmak fakat sitesinde araştırma yaptım nasıl bir direktif kullanmam gerektiği konusunda bilgiye ulaşamadım.
Mysql.cnf yada ini dosyasında decimal separator belirtmek için nasıl bir direktif kullanmalıyım.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

merhaba ,
aşağıdaki topic beni hayal kırıklığına uğrattı
http://lists.mysql.org/mysql/93375
bu durumda StringReplace yöntemine başvuracağız fakat bu işlemi çok büyük dosyalar üzerinde yapacağım için pos gibi fonksiyonlar saatler sürecek sonuçlar doğrucaktır. daha önce benzer bir işlem yapan arakdaşlardan öneri bekliyorum.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Kesinlikle notepad ile yapma, sisteminde varsa Word kullan. Aklıma gelen ilk çözüm şu şekilde oldu, böyle olursa hiç program yazmana da gerek kalmaz. Yedek almayı unutma.

1, leri 1.
2, leri 2.
...
9, ---> 9.
0, ---> 0.

Böylelikle öncesinde rakam olduğunu kontrol etmiş olursun.

Kolay gelsin.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

@mussimsek hocam merhaba ,
evet önerdiğin yöntemle word ü kullanarak çok hızlı bir şekilde çözdüm teşekkür ederim.
İyi çalışamalar.
Volkan KAMADAN
www.polisoft.com.tr
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

merhaba,

Kod: Tümünü seç

INSERT INTO (STR1, DBL1, DBL2, STR2)
VALUES('STR', 2,4,5,6,'STR')
uyguladığınız yöntemle böyle bir insert ifadesi nasıl düzelebilirki.merak ettim.iyi çalışmalar.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
Benim şanslı olduğun nokta tüm değerleri tırnak işareti içinde export ediyorum. yani

Kod: Tümünü seç

INSERT INTO (STR1, DBL1, DBL2, STR2) 
VALUES("STR", "2","4","5","6",'STR')
sorun olmadı o yüzden.
tabi alan isimlerinin sonlarında rakam kullanmadığım içinde sorun olmadı
İyi çalışmalar.
En son vkamadan tarafından 28 Mar 2006 12:49 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Volkan KAMADAN
www.polisoft.com.tr
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

çok iyi. :D
Cevapla