|
@@ -0,0 +1,86 @@
|
|
|
+{ %FILES=tw13015-utf8.bin }
|
|
|
+
|
|
|
+program test;
|
|
|
+
|
|
|
+{$ifdef FPC}
|
|
|
+{$mode delphi}
|
|
|
+{$endif}
|
|
|
+{$ifdef windows}
|
|
|
+{$apptype console}
|
|
|
+{$endif}
|
|
|
+
|
|
|
+uses
|
|
|
+{$ifdef unix}
|
|
|
+ cwstring,
|
|
|
+{$endif}
|
|
|
+ Classes,SysUtils,uw13015;
|
|
|
+
|
|
|
+procedure writefile(const fn: string);
|
|
|
+var
|
|
|
+ f:TStream;
|
|
|
+ tc:TTestClass;
|
|
|
+begin
|
|
|
+ writeln('Write component with widestring property to stream');
|
|
|
+ tc:=TTestClass.Create(nil);
|
|
|
+ writeln('tc.Wstr=',tc.Wstr);
|
|
|
+ write('tc.DumpAndCheck()');
|
|
|
+ tc.DumpAndCheck;
|
|
|
+
|
|
|
+ f:=TFileStream.Create(fn,fmCreate);
|
|
|
+ try
|
|
|
+ f.WriteComponent(tc);
|
|
|
+ finally
|
|
|
+ f.Free;
|
|
|
+ end;
|
|
|
+
|
|
|
+ tc.free;
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
+procedure readfile(const fn: string);
|
|
|
+var
|
|
|
+ f:TStream;
|
|
|
+ tc:TTestClass;
|
|
|
+begin
|
|
|
+ writeln('Reading component with widestring property');
|
|
|
+ f:=TFileStream.Create(fn,fmOpenRead);
|
|
|
+ try
|
|
|
+ tc:=TTestClass(f.ReadComponent(nil));
|
|
|
+ if Assigned(tc) then
|
|
|
+ begin
|
|
|
+ writeln('tc.Wstr=',tc.Wstr);
|
|
|
+ write('tc.DumpAndCheck()');
|
|
|
+ tc.DumpAndCheck;
|
|
|
+ end;
|
|
|
+ finally
|
|
|
+ f.Free;
|
|
|
+ end;
|
|
|
+
|
|
|
+ tc.free;
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
+const utf8str : array[0..84] of char=(
|
|
|
+ 'T','P','F','0',#010,'T','T','e','s','t','C','l','a','s','s',
|
|
|
+ #000,#004,'W','s','t','r',#020,'9',#000,#000,#000,#208,#191,#209,#128,
|
|
|
+ #208,#184,#208,#178,#208,#181,#209,#130,',',' ',#208,#191,#209,#128,#209,
|
|
|
+ #139,#208,#178,#209,#150,#209,#130,#208,#176,#208,#189,#209,#140,#208,#189,
|
|
|
+ #208,#181,' ','-',' ','p','r',#195,#188,'f','u','n','g',' ','s',
|
|
|
+ 'p','a',#195,#159,' ','g','u','t',#000,#000);
|
|
|
+
|
|
|
+var
|
|
|
+ f: file;
|
|
|
+begin
|
|
|
+ RegisterClasses([TTestClass]);
|
|
|
+
|
|
|
+ WriteFile('test.bin');
|
|
|
+ ReadFile('test.bin');
|
|
|
+ DeleteFile('test.bin');
|
|
|
+
|
|
|
+ assign(f,'tw13015-utf8.bin');
|
|
|
+ rewrite(f,1);
|
|
|
+ blockwrite(f,utf8str,sizeof(utf8str));
|
|
|
+ close(f);
|
|
|
+ ReadFile('tw13015-utf8.bin');
|
|
|
+ DeleteFile('tw13015-utf8.bin');
|
|
|
+end.
|