Исходники и листинги ::: Delphi ::: Dostowin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
  unit dosuser;
 
  interface
    function wtod(s:string):string;
    function dtow(s:string):string;
  implementation
    function wtod(s:string):string;
    var i:integer;
    begin
     for i:=0 to length(s) do
      case ord(s[i]) of
       129..239: s[i]:=chr(ord(s[i])-64);
       240..255: s[i]:=chr(ord(s[i])-16);
      end;
      wtod:=s;
    end;
 
    function dtow(s:string):string;
    var i:integer;
    begin
     for i:=0 to length(s) do
      case ord(s[i]) of
       128..175: s[i]:=chr(ord(s[i])+64);
       224..239: s[i]:=chr(ord(s[i])+16);
      end;
      dtow:=s;
    end;
 
  end.
 
 
  unit MainUnit;
 
  interface
 
  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;
 
  type
    TForm1 = class(TForm)
      Memo1: TMemo;
      OpenDialog1: TOpenDialog;
      Button1: TButton;
      Button2: TButton;
      Button3: TButton;
      SaveDialog1: TSaveDialog;
      Button4: TButton;
      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);
      procedure Button3Click(Sender: TObject);
      procedure Button4Click(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;
 
  var
    Form1: TForm1;
 
  implementation
 
  {$R *.dfm}
 
  uses dosuser;
 
  procedure TForm1.Button1Click(Sender: TObject);
  var
    i: integer;
    s: string;
  begin
   if OpenDialog1.Execute
   then begin
         Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
         s:=OpenDialog1.FileName;
         i:=length(s);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while s[i]<>'' do dec(i);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:=copy(s,i+1,length(s)-i-4);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form1.Caption:='Перевод текста DOS в текст Windows - '+s;
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;
  end;
 
  procedure TForm1.Button2Click(Sender: TObject);
  var i:integer;
  &nbsp;&nbsp;SList: TStringList;
  begin
   SList:=TStringList.Create;
   SList.Clear;
   SList.AddStrings(Memo1.Lines);
   for i:=0 to SList.Count-1 do
  &nbsp;&nbsp;SList[i]:=dtow(SList[i]);
   Memo1.Lines.Clear; 
   Memo1.Lines.AddStrings(SList);
   SList.Free;
  end;
 
  procedure TForm1.Button3Click(Sender: TObject);
  begin
   if OpenDialog1.FileName<>''
   then Memo1.Lines.SaveToFile(OpenDialog1.FileName)
   else Button4Click(Sender);
  end;
 
  procedure TForm1.Button4Click(Sender: TObject);
  var
  &nbsp;&nbsp;s: string;
  &nbsp;&nbsp;i: integer;
  begin
   SaveDialog1.FileName:=OpenDialog1.FileName;
   if SaveDialog1.Execute
   then begin
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memo1.Lines.SaveToFile(SaveDialog1.FileName);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:=SaveDialog1.FileName;
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i:=length(s);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while s[i]<>'' do dec(i);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s:=copy(s,i+1,length(s)-i-4);
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form1.Caption:='Перевод текста DOS в текст Windows - '+s;
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;
  end;
 
  end.
<<< Предыдущая работа

Вернуться в галерею исходников
Dostowin
Автор: Sashaa*
Город: Казань
Дата: 13.01.2007  00:37
Комментариев: 1
Просмотров: 181
Оценка: 0 (0|0|0|0|0) [0]

Вернуться на главную
Авторский комментарий к работе: Конвертирует досовские калябушки в нормальный текст.
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
delphIN* ::: комментарий от 18.02.2007 | 20:02
delphIN Перспективный (ур.8)
Очки: 1552
Город: Братск
Тв. работ: 10
Рег: 17.01.2007 (2628)
Хорошая, полезная программа!!!