If Pos (Separator, S) > 0 Then
Begin
Stoti := Copy (S, Pos (Separator, S) + 1, Length (S));
S := Copy (S, 1, Pos (Separator, S) - 1);
// Ovde bi eventualno trebalo umesto secenja na dve decimale
// uraditi zaokruzivanje
If Length (Stoti) > 2 Then Stoti := Copy (Stoti, 1, 2);
End;
While Length (Stoti) < 2 Do Stoti := '0' + Stoti;
// Ne moze StrToInt jer je maxint 2147483647
If StrToFloat (S) = 0 Then
Result := 'nula dinara'
Else
Begin
While Length (S) Mod 3 <> 0 Do S := '0' + S;
Result := '';
For X := 1 To 4 Do
Begin
Trojka := Copy (S, Length (S) - 2, 3);
Delete (S, Length (S) - 2, 3);
If Trojka = '' Then
Trojka := '000';
If Trojka <> '000' Then
Begin
If Trojka [2] In ['0', '1'] Then
Temp := Jedinice [X mod 2, StrToInt (Trojka [2] + Trojka [3])]
Else
Temp := Desetice [StrToInt (Trojka [2])] + Jedinice [X mod 2, StrToInt (Trojka [3])];
Temp := Stotine [StrToInt (Trojka [1])] + Temp;
If StrToInt (Trojka [2] + Trojka[3]) <= 5 Then
Temp := Temp + Prilozi [x, -1] + Prilozi [x, StrToInt (Trojka[2] + Trojka[3])]
Else
Temp := Temp + Prilozi [x, -1] + Prilozi [x, 5];
Result := Temp + Result;
End
Else
If X = 1 Then
Result := Result + ' dinara';
End;
End;
Result := Result + Format (StotiFormat, [Stoti]);
end;
**********************************************************
Moze li jos samo malo objasnjenja kako da ovo povezem na koponente npr
Broj koji tebam prevesti nalazi se u Edit1 a rezutat u tekstu trebam dobiti u
Edit2.
**********************************************************
Nisam sad detaljno gledao ovaj kod koji si pronasao, ali dobro pogledaj tu temu do kraja posto smo usput otklanjali neke sitne bagove u funkciji tako da je tek na kraju ta funkcija bila 99,999% super ( pre ovoga je bila samo 99% super ). Cisto da nemas neke sitne propuste u prebacivanju...
Potpis