Mam taki kadzik:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
liczba: Int64;
slownie: String;
koncowka: Integer;
rzad: Integer = 0;
j: Integer = 1;
minus: Boolean = false;
const jednosci: array[0..9] of String = ('', ' jeden', ' dwa', ' trzy', ' cztery', ' piec', ' szesc', ' siedem', ' osiem', ' dziewiec');
const nascie: array[0..9] of String = (' dziesiec', ' jedenascie', ' dwanascie', ' trzynascie', ' czternascie', ' pietnascie', ' szesnascie', ' siedemnascie', ' osiemnascie', ' dziewietnascie');
const dziesiatki: array[0..9] of String = ('', ' dziesiec', ' dwadziescia', ' trzydziesci', ' czterdziesci', ' piecdziesiat', ' szescdziesiat', ' siedemdziesiat', ' osiemdziesiat', ' dziewiecdziesiat');
const setki: array[0..9] of String = ('', ' sto', ' dwiescie', ' trzysta', ' czterysta', ' piecset', ' szescset', ' siedemset', ' osiemset', ' dziewiecset');
const x: array[0..5] of String = ('', ' tys.', ' mln.', ' mld.', ' bln.', ' bld.');
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IntToStr(liczba);
if (liczba<0) then
begin
minus:=true;
liczba:=-liczba;
end;
if (liczba=0) then slownie:='zero';
while liczba>0 do
begin
koncowka:=liczba mod 10;
liczba:=liczba div 10;
if (j=1)and((liczba mod 100 <> 0) or (liczba<100)) then slownie:=x[rzad]+slownie;
if (j=1)and(liczba mod 10 <> 1) then slownie:=jednosci[koncowka]+slownie;
if (j=1)and(liczba mod 10 = 1) then
begin
slownie:=nascie[koncowka]+slownie;
liczba:=liczba div 10;
j:=j+2;
continue;
end;
if (j=2) then slownie:=dziesiatki[koncowka]+slownie;
if (j=3) then
begin
slownie:=setki[koncowka]+slownie;
j:=0;
rzad:=rzad+1;
end;
j:=j+1;
end;
if minus then slownie:='minus '+slownie;
Edit2.Text := slownie;
end;
end.
Jak wpisze do Edit1 jakąś cyfre to zamiast mi "przetłumaczyć" wstawia mi do Edita1 0 . Dlaczego ??
// o debugerze nie słyszałeś? :-8 - ŁF