Советы по Delphi. Версия 1.0.6
Шрифт:
function DecToBase(Decimal: Longint; const Base: Byte): String;
const Symbols: String[16] = '0123456789ABCDEF';
var
scratch: String;
remainder: Byte;
begin
scratch:= '';
repeat
remainder:= Decimal mod base;
scratch:= Symbols[remainder + 1] + scratch;
Decimal:= Decimal div base;
until (decimal = 0);
Result:= scratch;
end;
Передайте
function DecToRoman(Decimal: Longint ): String;
const Romans: Array[1..13] of String = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
Arabics: Array[1..13] of integer = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
var
i: Integer;
scratch: String;
begin
scratch:= '';
for i := 13 downto 1 do
while (decimal >= arabics[i]) do begin
Decimal:= Decimal – Arabics[i];
scratch:= scratch + Romans[i];
end;
Result:= scratch;
end;
Преобразование ICO в BMP
Решение 1
Попробуйте:
var
Icon: TIcon;
Bitmap: TBitmap;
begin
Icon:= TIcon.Create;
Bitmap:= TBitmap.Create;
Icon.LoadFromFile('c:\picture.ico');
Bitmap.Width:= Icon.Width;
Bitmap.Height:= Icon.Height;
Bitmap.Canvas.Draw(0, 0, Icon);
Bitmap.SaveToFile('c:\picture.bmp');
Icon.Free;
Bitmap.Free;
end;
Решение 2
Способ преобразования изображения размером 32×32 в иконку.
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,Dialogs,ExtCtrls, StdCtrls;
type TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
Image2: TImage;
procedure Button1Click(Sender: Tobject);
procedure FormCreate(Sender: Tobject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Procedure Tform1.Button1Click(Sender: Tobject);
var winDC, srcdc, destdc : HDC;
oldBitmap : HBitmap;
iinfo : TICONINFO;
begin
GetIconInfo(Image1.Picture.Icon.Handle, iinfo);
WinDC:= getDC(handle);
srcDC:= CreateCompatibleDC(WinDC);
destDC:= CreateCompatibleDC(WinDC);
oldBitmap:= SelectObject(destDC, iinfo.hbmColor);
oldBitmap:= SelectObject(srcDC, iinfo.hbmMask);
BitBlt(destdc, 0, 0, Image1.picture.icon.width, Image1.picture.icon.height, srcdc, 0, 0, SRCPAINT);
Image2.picture.bitmap.handle := SelectObject(destDC, oldBitmap);
DeleteDC(destDC);
DeleteDC(srcDC);
DeleteDC(WinDC);
image2.Picture.Bitmap.savetofile(ExtractFilePath(Application.ExeName) + 'myfile.bmp');
end;
Procedure Tform1.FormCreate(Sender: Tobject);
begin
image1.picture.icon.loadfromfile('c:\myicon.ico');
end;
end.
Unix-строки (чтение
Данный модуль позволяет читать и записывать файлы формата Unix.
unit StreamFile;
interface
Uses SysUtils;
Procedure AssignStreamFile(var f: text; FileName: String);
implementation
Const BufferSize = 128;
Type
TStreamBuffer = Array[1..High(Integer)] of Char;
TStreamBufferPointer = ^TStreamBuffer;
TStreamFileRecord = Record
Case Integer Of
1: (
Filehandle: Integer;
Поделиться:
Популярные книги
Мастер...
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Жених из гроба
1. Гробокопательница
Фантастика:
юмористическое фэнтези
сказочная фантастика
фэнтези
5.00
рейтинг книги
Ищу жену с прицепом
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Гримуар тёмного лорда I
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Заклятие предков
3. Ведун
Фантастика:
фэнтези
альтернативная история
8.49
рейтинг книги
Крепость над бездной
4. Гибрид
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Рота Его Величества
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Экспансия: Сотрудничество. Том 5
5. Планетарный десант
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Отверженный III: Вызов
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Князь Серединного мира
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 8
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Эволюционер из трущоб. Том 5
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Локки 7. Потомок бога
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 4
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00