Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Rastgele sayıda bozulma [Çözüldü]
#1
Merhaba; 


Tarihe ve saate göre rastgele 13 basamaklı sayı  üretiyorum ve bu sayıları databasede string olarak tutuyorum, kullanıcı excele aktardığında sayılar (1,23468E+12) gibi garip bir şekilde excelde görünüyor bu sayının normal görünmesi için ne yapabilirim?

Örnek üretilen sayı:
2106171735519

Excele aktarılan kod:
Sheet.Cells[Row, 1] := FieldByName('TRCode').AsString;

Rasgele sayı üret:
procedure TForm1.Image12UretClick(Sender: TObject);
var
  TRCode: String;
begin
  DateTimeToString(TRCode, 'ddmmyyhhnnzzz', Now);
  Edit1.Text := TRCode;

 // Edit1.Text := Format('%d', [1234567899999 + Random(123456789)]);
end;
Cevapla
#2
Sheet.Columns[i].NumberFormat := AnsiChar('hghghgf');
bu şekilde bir şey buldum.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
Sanırım sorun kod tarafında değil, excelin veriyi yorumlamasında.

Birinci yol: Veri exceldeki kolona sığmıyorsa bu gösterime neden olabilir. Gösterimi kısaltmak için üstel ifade şekli otomatik seçiliyor. Çözüm excelde kolonu biraz genişletmek
Diğer yöntem : Veri aktarma işlemi sonrasında, tüm kolonu seçip veri tipinini metin olarak değiştirebilirsiniz. Veri kolon genişliğine sığmadığında ### gibi bir gösterim olur. Çözüm yine kolon genişliğini artırmak

Denemeler Libre ofis calc da yapıldı. Muktemelen exceldede aynı senaryo geçerlidir.

Görünen çözüm excelin kendi içerisinde.

Edit: Excel export işleminde kolon özellikleri düzenlenebiliyorsa kod içerisinden çözüm üretilmiş olur.
Cevapla
#4
Excel'e hücrenin formatını belirtmelisiniz.
@Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol'ın paylaşımdaki özellik kullanılmalı: NumberFormat 
Ama sayısal değer için # kullanılmalı. Tüm sütun için :
Sheet.Columns[1].NumberFormat := AnsiChar('#');
Yada sadece belirli hücreler için:
Sheet.Cells[Row, 1].NumberFormat := AnsiChar('#');
There's no place like 127.0.0.1
WWW
Cevapla
#5
Merhaba; Sorun çözüldü emeği geçen herkese teşekkür ederim;
Sheet.Cells[Row, 1].NumberFormat := AnsiChar('#');
kodu ile çözülmüştür.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Datasnap Türkçe karakter sorunu [Çözüldü] hakanharbeli 4 109 11-02-2018, Saat: 03:29
Son Yorum: hakanharbeli
Star ıdHTTP Post hakkında? [Çözüldü] Cyber 1 85 06-02-2018, Saat: 13:36
Son Yorum: Cyber
  Form create h.k (Çözüldü ) cinarbil 12 266 25-01-2018, Saat: 12:09
Son Yorum: cinarbil
  Wsdl Xml Importer(Çözüldü) yhackup 17 222 09-01-2018, Saat: 15:42
Son Yorum: yhackup
  PAnsiChar ile başım dertte (Çözüldü) erkankurtaga 2 221 22-12-2017, Saat: 11:25
Son Yorum: erkankurtaga



Konuyu Okuyanlar: 1 Ziyaretçi