S.a arkadaşlar benim sorunum şöyle birşey.
Elimde bir String ifade var. Ben bunu direk integer değere döndürmek istiyorum. Bunun için cat yapıyorum. Fakat cast sonucunda aldığı değerlerin ne değeri olduğunu anlamadım. Mesela
str:='deneme';
x:=Integer(str);
x burda 4530848 değerini alıyor. Acaba bu ne değeridir. Çünkü ben aynı değeri java da çözmek isteyecem ve aynı değeri bulamadım. Toplu dönüşüm işlemlerinde yardımcı olursanız sevinirim.
Yani ben 94858492844935364140494036 gibi gelen ascii kodları nasıl stringe çeviririm. Bunu javada biginteger ile yapabiliyordum.
Stringi ascii koduna döndürme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
bu s değişkeninin hafızadaki adres değeridir. s bilgisi içindeki 'deneme' değeri ile alakalı bir değer değildir. Bunun yerine şöyle bir döngü kurulabilir ama delphideki en büyük sayı tipi int64 tipidir (–2^63..2^63–1 arasında tam sayı değeri).cenkay yazdı:str:='deneme';
x:=Integer(str);
x burda 4530848 değerini alıyor. Acaba bu ne değeridir
Kod: Tümünü seç
function StrKodu(const S:String):Int64;
var i:Integer;
begin
Result:=0;
for i:=Length(S) downto 1 do
Result:=Ord(S[i])+(Result shl 8);{(Result shl 8)-> 8 bit sola kay yani Result*256 anlamına gelir ama daha hızlı çalışır}
end;
function KodunStrsi(Kod:Int64):String;
var i:Integer;
begin
Result:='';
while Kod>0 do begin
Result:=Result+Chr(Kod and $FF);//$FF=255
Kod:=(Kod shr 8);{(Kod shr 8)-> 8 bit sağa kay yani Kod/256 anlamına gelir ama daha hızlı çalışır}
end;
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)