Rambler's Top100


Виртуальный клуб начинающих программистов на Delphi


Заводь
Мелководье
Сокровищница
Рифы
Течения
Архивный грот
Дальние земли
Жемчужница
Ловцы жемчуга
Почтовый грот
Дельфинарий
Карта бухты

Rambler's Top100


Mastak.ru - качественный хостинг на двух континентах

The List of Russian Web Servers WebList.Ru

Справочник (Сокровищница)

Свойства, методы, события, классы.
Сплошная математика.
Различная вкуснятина.
Дельфиньи советы
Толковый и бестолковый словари дельфинов.


Различные простые и не очень простые программы. (Иногда - халява.)


Master

Программа для заполнения счет-фактур, платежных поручений, накладных. (Коммерческая)

Arhivarius

Программа для ведения архива. (сделана специально для администраций). (Коммерческая)

Audience

Программа для ведения учета обратившихся за аудиенцией. (сделана специально для администраций). (Коммерческая)

HozBook

Программа для ведения похозяйственной книги. Учет проживающих, выдача справок, куча всяких отчетов и выборок. Например выборка по количеству избирателей или пенсионеров. Сколько человек положено на подселение в военное время и т.д. (Коммерческая)

MainBook

Главная книга (бухгалтерия). Оборотная ведомость, шахматная ведомость, карточка счета, главная книга (сама форма).(Коммерческая)


    Не бойтесь присылать исходники (если конечно программа не коммерческая). От ошибок никто не застрахован, а если тыкнут носом, то тоже хорошо. Лучше знать свои ошибки, чем думать что программа совершенна. У профессоров их полно и они об ошибках своих знают, просто их исправлять иногда некогда. (Имеются ввиду ошибки которые не влияют на функциональность, а только на скорость работы программы.) Даже если кажется, что программа сделана через заднюю ногу, присылайте - будем разбираться на ваших ошибках. Чайники будут рады найти все ошибки и их исправить. Ведь иначе как стать Мастером.

Сплошная математика.

Odd(X) - Нечетное число. (Выдается результат - истина или ложь)
X mod Y - результат - остаток деления X на Y
X div Y - результат деления - целое число
X and Y - истина, если X и Y - истина
X or Y - истина, если X или Y - истина
X hor Y - истина, если (или X или Y) - истина, но только один. (Либо X, либо Y)

Операции отношения используются при сравнении двух операндов. Они возвращают true - истина, если указанное соотношение операндов выполняется, и false - ложь, если соотношение не выполняется. Определены следующие операции отношения:

Обозначение
Операция
Типы операндов
Тип результата
Пример
= Равно простые, множества, указатели, классы, ссылки классов, интерфейсы, строки, упакованные строки Boolean I = Max
<> Не равно простые, множества, указатели, классы, ссылки классов, интерфейсы, строки, упакованные строки Boolean X <> Y
< Меньше чем простые, строки, упакованные строки, PChar Boolean X < Y
> Больше чем простые, строки, упакованные строки, PChar Boolean Len > 0
<= Меньше или равно простые, множества, строки, упакованные строки, PChar Boolean Cnt <= I
>= Больше или равно простые, множества, строки, упакованные строки, PChar Boolean I >= 1

Операнды должны иметь совместимые типы, за исключением типов realи integer, которые могут сравниваться друг с другом.
Строки сравниваются по расширенным кодам множества символов ASCII. Символьный тип трактуется как строка единичной длины. Упакованные строки можно сравнивать друг с другом только при одинаковом числе символов. Если упакованная строка из n символов сравнивается с типом string, то она трактуется как строка длиной n.

Операции <, >, <= и >= можно применять к операндам PChar только если оба указателя указывают на один и тот же массив символов.
Операции = и <> могут применяться к операндам типа классов и ссылок на классы. В этом случае для классов C = D вернет true, только если C и D указывают на один и тот же объект класса. Применительно к ссылкам на классы C = D вернет true, только если C и D указывают на один и тот же класс. Аналогичные правила действуют и при операндах типа указателей.



Различная вкуснятина

If (N = 2) or (N = 4) or (N = ?) = If N in [2,4,?]
Label1.Show = Label1.Visible := True
Label1.Hide = Label1.Visible := False
If Key = 13 Then//KeyDown
SelectNext(screen.ActiveControl, True, True)//переходит как при нажатии Tab
SystemParametersInfo(spi_SetDeskWallPaper,0,0,0);
//Читает из реестра рабочий стол(заодно очищает всякие несанкционированные записи на нем)
Form1.Brush.Style := bsClear;//невидимая форма
Form1.BorderStyle := bsNone
//перетаскиваем за что угодно
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
   ReleaseCapture;
  SendMessage(Handle,WM_SYSCOMMAND, $F012,0);
end;
//круглая форма
procedure TForm3.FormCreate(Sender: TObject);
var
formrgn:hrgn;
begin
{очищаем форму}
form3.brush.style:=bsclear;
{делаем форму круглой}
GetWindowRgn(form3.Handle, formRgn);
DeleteObject(formRgn);
formrgn:=
CreateroundRectRgn(0,
0,form3.width,form3.width,form3.width,form3.width);
SetWindowRgn(form3.Handle, formrgn, TRUE);
end;
//Показывает все файлы определенной маски и заполняет им листбокс
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
begin
s:='c:\windows\*.bmp'#0;
ListBox1.Perform(LB_DIR, DDL_READWRITE, Longint(@s[1]));
end;
//Обратились не важно к какому объекту
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if ActiveControl is TEdit then
(ActiveControl as TEdit).OnExit(ActiveControl);
end;
//Поиск и замена в текстовом редакторе (Винворд) Причем данные дожны быть OleVariant
WordApplication1.Selection.Find.ExecuteOld(F,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam
,R,EmptyParam);
//Путь в коренную папку программы
ExtractFilePath(Application.ExeName)
//Определяет высокосный год
Case StrToInt (Copy (DateRez,4,2)) Of
1,3,5,7,8,10,12: DateRez := '31' + Copy (DateRez,3,8);
4,6,9,11: DateRez := '30' + Copy (DateRez,3,8);
2: If (StrToInt (Copy (DateRez,7,4)) mod 4) = 0 Then
DateRez := '29' + Copy (DateRez,3,8)
else
DateRez := '28' + Copy (DateRez,3,8)
//Позиционирует курсор SQL
DM1.QPlanSchet.Locate('Number',Edit1.Text,[loCaseInsensitive,loPartialKey])
var
FormRgn:HRGN;
I : Integer;
hTaskBar : THandle;
S : TStringList;
begin
S := TStringList.Create;
Воспользоваться функцией PackTable из rxLib.
Для перегенерации индексов:
Table1.Exclusive := True;
Table1.Open;
Check(dbiRegenIndexes(Table1.Handle);

Скрываем прогу от Ctrl+Tab
//Далее я добавил новую переменную
var EStyle : integer; begin Application.Initialize;
//Далее идет установка невидимости приложения
EStyle:=GetWindowLong(application.Handle,GWL_EXSTYLE);
SetWindowLong(Application.Handle, GWL_EXSTYLE, EStyle or WS_EX_TOOLWINDOW);
//Остальное не менять и не забыть добавить в Uses - Windows
Application.CreateForm(TForm1, Form1);
//Ну и так далее
Application.Run;
end.
//Делаю задержку в 100 мс.
h:=CreateEvent(nil, true, false, ''); WaitForSingleObject(h, 100); CloseHandle(h)

Идеи и пожелания с удовольствием почитаем.

Хостинг от uCoz