Отправляет email-рассылки с помощью сервиса Sendsay

Delphi - проблемы и решения

  Все выпуски  

Проблемы и решения в Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Проблемы и решения в Delphi

Проблемы и решения в Delphi - выпуск 5 от 16.02.2001.

Я сегодня не такой как вчера...

Доброго Вам времени суток уважаемый читатель.

Выпуск пятый. Всем, кто откликнулся на просьбу - большое спасибо.
С сегодняшнего выпуска я все-же немного изменю структуру рассылки.
Видимо, придется некоторые темы освещать более подробно, не ограничиваясь
советами. Ну - продолжим.

Сегодня рассмотрим основные моменты программирования на языке Паскаль,
не останавливаясь, по возможности на мелочах. Знать структуру программ
конечно нужно, но в самом начале работы с Delphi не обязательно, поскольку
основной код генерится автоматически. Поэтому отмечу лишь некоторые детали.
Допустим у Вас существуют две или более форм. Как пользоваться одной
переменной в них обоих?(Например в одной форме идет наращивание, а в другой
обработка.)

- (прб.4) Если Вам нужно пользоваться одной переменной в разных формах, то
подключайте ее в отдельном модуле 'unit', а его в свою очередь, подключайте
везде, где хотите видеть эту переменную.

Хотя мне бы больше понравилось подключать такие переменные, например в модуле
проекта. Но увы.

Ни кому, я думаю, еще не удалось обойтись без оператора 'if', а как Вы
считаете что нужно чтобы объеденить две проверки в одном операторе? Конечно
воспользоваться 'and', 'or' и так далее. Но!!! Если просто записать

'if s = 2 and m = 1 then' ,

то компилятор выдаст ошибку 'Incompatible Types'. Оказывается нужны скобочки.
Вот так :

'if (s = 2) and (m = 1) then' .

Вернувшись немного назад хочу посоветовать Вам одну вещь, которая позволит
обойти много камешков и сэкономит массу времени. Это касается имен рабочих
файлов Вашего проекта.

- (с.5) Сохраняйте файлы с именем не длиннее 8-и символов. Для форм
используйте ИмяForm.dfm, для проекта это будет имя выполняемого файла,
для unit - модулей используйте ИмяUnit.pas.

Дело в том, что в Delphi нельзя, например, иметь одинаковое имя формы и
проекта.

--------------------------------------------------------------------------------------------
Вопросы и ответы(тут можно помочь самим). Пока будут все вопросы, а
далее только не отвеченные или не полностью отвеченные.
--------------------------------------------------------------------------------------------

Вопрос:1 - Как быстро считать в строку файл, если это к примеру
                  *.exe? Если использовать TStringList.LoadFromFile,
                  то попадает туда не всё - почему?

Ответить.

ОТВЕТ:1(от автора рассылки) -

Могу предложить такой вариант -

function FileToStr(ImFile:String):String;
var S:TFileStream;
str : String;
Buf: array [1..10000] of Char;

begin
str := '';
S:=TFileStream.Create(ImFile,fmOpenRead);
while s.Position < s.Size do
begin
s.Read(buf,10000);
str := str+String(buf);
// Application.ProcessMessages; // Это, если файл огромный.
end;
Delete(str,s.size+1,10000);
s.Free;
Result := str;
end;


--------------------------------------------------------------------------------------------
Вопрос:2 - Как сделать индекс по 2-м полям в локальной базе, например
                  Paradox, если я хочу скажем, сортировать по условию - кусок
                  того поля + кусок другого? BDE использую.

Ответить.

___________________________________________________________________________

Если Вы хотите как можно скорее получить ответ на свой вопрос, то
укажите в теме письма - 'delphiV' , иначе письмо будет прочитано значительно
позже. Если же у вас есть предложения то в теме письма укажите пожалуйста -
'delphiP'.

Спросить Предложить Архивы Сколько нас

Автор рассылки - Дмитрий.
ICQ(1.00 - 12.00мск.) - 89533941.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное