Changeset 514 for BigInt/UFormMain.pas
- Timestamp:
- Apr 26, 2018, 1:07:22 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BigInt/UFormMain.pas
r505 r514 1 1 unit UFormMain; 2 2 3 {$mode objfpc}{$H+}3 {$mode delphi}{$H+} 4 4 5 5 interface 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, UInt128; 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 ComCtrls, UInt128; 9 10 10 11 type … … 13 14 14 15 TFormMain = class(TForm) 15 Memo1: TMemo;16 ListView1: TListView; 16 17 procedure FormShow(Sender: TObject); 17 18 private 19 procedure TestInt128; 18 20 19 21 public 20 22 procedure AddTest(Name: string; Result: Boolean; Value: string); 21 23 end; 22 24 … … 30 32 { TFormMain } 31 33 32 procedure TFormMain. FormShow(Sender: TObject);34 procedure TFormMain.TestInt128; 33 35 var 34 36 A, B, C: Int128; 35 X: Int64;36 37 begin 37 A := 10; 38 ListView1.Items.Clear; 39 A := 123456789; 40 AddTest('IntToHex(123456789)', IntToHex(A, 16) = '00000000075BCD15', IntToHex(A, 16)); 41 AddTest('IntToStr(123456789)', IntToStr(A) = '123456789', IntToStr(A)); 42 A := 21; 43 B := 33; 44 C := A + B; 45 AddTest(IntToStr(A) + ' + ' + IntToStr(B), C = 54, IntToStr(C)); 46 C := A * B; 47 AddTest(IntToStr(A) + ' * ' + IntToStr(B), C = 693, IntToStr(C)); 48 A := 30; 38 49 B := 10; 39 C := A + B; 40 X := $12345678; 41 Memo1.Lines.Add('X: ' + IntToHex(X, 8)); 42 Memo1.Lines.Add(IntToStr(C)); 43 Memo1.Lines.Add(IntToHex(C, 0)); 50 C := A div B; 51 AddTest(IntToStr(A) + ' div ' + IntToStr(B), C = 3, IntToStr(C)); 52 A := $1234567812345678; 53 B := 31; 54 C := A shr B; 55 AddTest(IntToStr(A) + ' shr ' + IntToStr(B), C = 610839792, IntToStr(C)); 56 A := 100000000000; 57 C := -A; 58 AddTest('-' + IntToStr(A), C = -100000000000, IntToStr(C)); 59 end; 60 61 procedure TFormMain.AddTest(Name: string; Result: Boolean; Value: string); 62 var 63 ListItem: TListItem; 64 begin 65 ListItem := ListView1.Items.Add; 66 ListItem.Caption := Name; 67 if Result then ListItem.SubItems.Add('Passed') 68 else ListItem.SubItems.Add('Failed'); 69 ListItem.SubItems.Add(Value); 70 end; 71 72 procedure TFormMain.FormShow(Sender: TObject); 73 begin 74 ListView1.Items.Clear; 75 TestInt128; 44 76 end; 45 77
Note:
See TracChangeset
for help on using the changeset viewer.