Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
Вот конечный код после учета всех мелочей! Например, нам, в конечном счете, нужно сообщить указателю о необходимости возвратиться к началу своей новой строки.
procedure TForm1.RemoveSpaces(var InBuf: PChar; Size: Word);
var
Input, OutPut, Orig: PChar;
begin
GetMem(Output, Size);
input := Inbuf;
Orig := Output;
while input^ <> #0 do begin
if (input^ <> #10) and (input^ <> #13) then begin
output^ := input^;
inc(output);
end;
inc(input);
end;
Output^ := #0;
Output := Orig;
InBuf := Output;
end;
Я
Функция, возвращающая тип
Delphi 1
Вы можете сделать это в C++. В ObjectPascal это также можно сделать, смотрите пример:
// функция Chameleon, возвращающая тип сгенерированного исключения
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;
type
MyBoolean = class
public
Value : boolean;
end;
MyInteger = class
public
Value : integer;
end;
MyClass = class
public
Value : TStrings;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
procedure MyProc;
function Chameleon : boolean;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TForm1.Chameleon : boolean;
var
b : MyBoolean;
i : MyInteger;
c : MyClass;
r : integer;
begin
r := Random(3);
case r of
0 : begin
b := MyBoolean.Create;
raise b;
end;
1 : begin
i := MyInteger.Create;
raise i;
end;
2 : begin
c := MyClass.Create;
raise c;
end;
end;
end;
procedure TForm1.MyProc;
begin
try
Chameleon;
excepton MyBoolean do ShowMessage('Функция
возвратила класс MyBoolean');
on MyInteger do ShowMessage('Функция возвратила класс MyInteger');
on MyClass do ShowMessage('Функция возвратила класс MyClass');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Поделиться:
Популярные книги
Изгой. Трилогия
Изгой
Фантастика:
фэнтези
8.45
рейтинг книги
Старатель 2
2. Старатели
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Купеческая дочь замуж не желает
Фантастика:
фэнтези
6.89
рейтинг книги
Кодекс Охотника. Книга IX
9. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Школа Семи Камней
10. Real-Rpg
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Тайны ордена
6. Девятый
Фантастика:
боевая фантастика
попаданцы
7.48
рейтинг книги
Убивать чтобы жить 9
9. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Мимик нового Мира 11
10. Мимик!
Фантастика:
юмористическое фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Пришествие бога смерти. Том 5
5. Ленивое божество
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аномальный наследник. Том 3
2. Аномальный наследник
Фантастика:
фэнтези
7.74
рейтинг книги
Опер. Девочка на спор
5. Опасная работа
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Имя нам Легион. Том 4
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 8
8. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Личник
3. Ермак
Фантастика:
альтернативная история
6.33