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

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 350
от 09.01.2006, 23:24

Администратор:Калашников О.А.
В рассылке:Подписчиков: 231, Экспертов: 49
В номере:Вопросов: 5, Ответов: 16


Вопрос № 32647: Здравствуйте, уважаемые эксперты. На форе расположены 3 TEdit'а и кнопка, как сделать что бы при нажатии(onClick) на кнопку данные введённые в TEdit'ы сохранялись в файл, а при загрузке(onCreat) формы загружались?...
Вопрос № 32648: Здравствуйте ещё раз.. В вопросе 32603 я спрашивал как изменить приоритет выполнения приложения.. А как можно узнать текущий приоритет?...
Вопрос № 32649: А сколько весит первая книга библия делфи?...
Вопрос № 32651: Здравствуйте, господа эксперты. Как разбить строку из ComboBox на 4 части зная что между ними есть два пробела. Например, есть qwe rtyuy c fghj и получить: String1 = qwe; String2 = rtyuy; String3 = c; String4 = fghj;...
Вопрос № 32678: Подскажите, уважаемые, как реализовать ВСЕ! функции CD_ROM'а? (в частности отрыть, закрыть, узнать тип носителя, и т.д.) Может есть ссыслка на ресурс где все описано?...

Вопрос № 32.647
Здравствуйте, уважаемые эксперты.
На форе расположены 3 TEdit'а и кнопка, как сделать что бы при нажатии(onClick) на кнопку данные введённые
в TEdit'ы сохранялись в файл, а при загрузке(onCreat) формы загружались?
Отправлен: 04.01.2006, 14:36
Вопрос задал: Dushin Igor (статус: 2-ой класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Dushin Igor!

Используй файл .ini

AZClientExe := Application.ExeName;
SPath := ExtractFilePath(AZClientExe);
AZIniFile := TIniFile.Create(SPath+'AZFile.ini');

AZIniFile.WriteString('Группа',Параметр','Значение');

Str := AZIniFile.ReadString('Группа',Параметр','');
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 04.01.2006, 14:50
Оценка за ответ: 5
Комментарий оценки:
Забыли сказать, что в uses надо написать ...IniFiles;...

Отвечает: Татьяна
Здравствуйте, Dushin Igor!
ну например так, правда эдит только 1, но это наверное неважно (см. приложение)

Приложение:

---------
Нет ничего невозможного!!!

Ответ отправила: Татьяна (статус: 10-ый класс)
Отправлен: 04.01.2006, 15:03
Оценка за ответ: 4

Отвечает: Ерёмин Андрей
Здравствуйте, Dushin Igor!
Для этого удобно использовать INI-файлы. Пример смотрите в прикреплённом файле. Не забудьте, что в uses должен присутствовать модуль IniFiles.

Приложение:

---------
Работа - не волк, а произведение силы на расстояние!

Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 04.01.2006, 15:43

Отвечает: Toxic~Fire
Здравствуйте, Dushin Igor!
Мне кажется для таких целей разумнее всего использовать ini фаил.
Смотри приложение:

Приложение:

Ответ отправил: Toxic~Fire (статус: 2-ой класс)
Отправлен: 04.01.2006, 18:17

Отвечает: Schmak
Здравствуйте, Dushin Igor!
Данные можно сохранить в обычный текстовый файл при помощи Read/Write.

Приложение:

---------
Не всё то Windows, что висит!

Ответ отправил: Schmak (статус: Практикант)
Отправлен: 05.01.2006, 17:48


Вопрос № 32.648
Здравствуйте ещё раз..
В вопросе 32603 я спрашивал как изменить приоритет выполнения приложения..
А как можно узнать текущий приоритет?
Отправлен: 04.01.2006, 14:40
Вопрос задал: MiXei4 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Diman_A
Здравствуйте, MiXei4!
Функция возвращает данное типа integer:
-1 - низкий приоритет,
0 - нормальный,
1 - высокий,
2 - реального времени.

Приложение:

Ответ отправил: Diman_A (статус: 2-ой класс)
Отправлен: 04.01.2006, 18:22
Оценка за ответ: 5

Отвечает: Minor
Здравствуйте, MiXei4!
Вот процедурка, только там в итоге приоритет будет в виде числа, я их перечислю:
для процессов (process):
REALTIME_PRIORITY_CLASS 256
HIGH_PRIORITY_CLASS 126
NORMAL_PRIORITY_CLASS 32
IDLE_PRIORITY_CLASS 64
для потоков (thread):
THREAD_PRIORITY_TIME_CRITICAL 15
THREAD_PRIORITY_HIGHEST 2
THREAD_PRIORITY_ABOVE_NORMAL 1
THREAD_PRIORITY_NORMAL 0
THREAD_PRIORITY_BELOW_NORMAL -1
THREAD_PRIORITY_LOWEST -2
THREAD_PRIORITY_IDLE -15

А вообще очень неплохой хэлп находится в "Пуск->программы->Borland Delphi 7->Help->MS SDK Help Files

Приложение:

Ответ отправил: Minor (статус: 1-ый класс)
Отправлен: 04.01.2006, 21:13
Оценка за ответ: 5


Вопрос № 32.649
А сколько весит первая книга библия делфи?
Отправлен: 04.01.2006, 14:42
Вопрос задал: psevdo (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ujin Antikvar
Здравствуйте, psevdo!

ее вес вместе с CD состовляет 223 метра
если хочешь получить эту книгу по почте пиши мне на мыло: arbuznikov@matrix.odessa.ua

У меня также есть еще много других книг по Delphi в электронном виде так что пиши подберем книгу для тебя, если эта для тебя много весит.
---------
"Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 5-ый класс)
Отправлен: 04.01.2006, 16:29


Вопрос № 32.651
Здравствуйте, господа эксперты. Как разбить строку из ComboBox на 4 части зная что между ними есть два пробела. Например,
есть qwe rtyuy c fghj и получить:

String1 = qwe;
String2 = rtyuy;
String3 = c;
String4 = fghj;
Отправлен: 04.01.2006, 15:06
Вопрос задал: Unnamed (статус: Посетитель)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Unnamed!

Определи позицию пробела - iPos := Pos(StrX,'');
Скопируй первую часть строки - String1 := Copy(StrX,1,iPos-1);

И т.д.
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 04.01.2006, 15:17

Отвечает: Татьяна
Здравствуйте, Unnamed!
Дело тут не в комбобоксе, лучше абстагироваться
думаю, можно поставить задачу так:
есть строка, разбить ее на слова (в общем случае)
я права?
если да, см. приложение
если нет, значит я не поняла вопроса

Приложение:

---------
Нет ничего невозможного!!!

Ответ отправила: Татьяна (статус: 10-ый класс)
Отправлен: 04.01.2006, 15:22

Отвечает: Zubex
Здравствуйте, Unnamed!
Ищешь позицию пробела, копируешь все до пробела, ищешь следующую позицию, опять копируешь....
Пример:

procedure MyProc(str:string)
begin
string1:=DivStr4Symb(str,' ');
string2:=DivStr4Symb(str,' ');
string3:=DivStr4Symb(str,' ');
string4:=DivStr4Symb(str,' ');
end;

/////////////
function DivStr4Symb(var s:String;c:Char):String;
var p:Integer;
begin
p:=Pos(c,s);
if p=0 then begin
Result:=s;
s:='';
end else begin
Result:=Copy(s,1,p-1);
Delete(s,1,p);
end;
end;

---------
Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 4-ый класс)
Отправлен: 04.01.2006, 15:22

Отвечает: Ерёмин Андрей
Hello, Unnamed!
Вот пример:

procedure TForm1.Button1Click(Sender: TObject);
var Str: String; N,P: Integer; Strings: Array[1..4] Of String;
begin
Str:=ComboBox1.Text;
N:=1;
Str:=Str+' ';
repeat
P:=Pos(' ',Str);
Strings[N]:=Copy(Str,1,P-1);
Delete(Str,1,P);
Inc(N);
until Pos(' ',Str) <= 0;
Label1.Caption:=Strings[1];
Label2.Caption:=Strings[2];
Label3.Caption:=Strings[3];
Label4.Caption:=Strings[4];
end;



В массиве Strings будут 4 искомые строки:
String1 = Strings[1];
...
String4 = Strings[4].
---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 04.01.2006, 15:54

Отвечает: Toxic~Fire
Здравствуйте, Unnamed!
Для этой цели я написал тебе функцию

function slova(stroka:string; razdelitel:char; var slovo:array of string):integer;
var
i,a,p:integer;
begin
a:=-1;
p:=1;
stroka:=stroka+razdelitel;
for i:=1 to length(stroka) do
begin
if (stroka[i] = razdelitel) and (stroka[i+1] <> razdelitel) then
begin
a:=a+1;
slovo[a]:=copy(stroka,p,i-p);
p:=i+1;
end;
end;
result:=a;
end;

Функция возвкащает количество слов в фразе stroka.
razdelitel - что отделяет слова (в твоём случае пробел ' ' )
slovo - массив слов, из которых состоит stroka;

Вот как она будет выглядеть:

Приложение:

Ответ отправил: Toxic~Fire (статус: 2-ой класс)
Отправлен: 04.01.2006, 18:18

Отвечает: Schmak
Здравствуйте, Unnamed!
Нет разницы combobox или Edit работать всё равно придётся со свойством типа String. В приведённом ниже примере значение ComboBox1.Text сохраняется в переменную s. Список слов сохраняется в массив а.

Приложение:

---------
Не всё то Windows, что висит!

Ответ отправил: Schmak (статус: Практикант)
Отправлен: 05.01.2006, 17:48


Вопрос № 32.678
Подскажите, уважаемые, как реализовать ВСЕ! функции CD_ROM'а? (в частности отрыть, закрыть, узнать тип носителя, и т.д.) Может есть ссыслка на ресурс где все описано?
Отправлен: 04.01.2006, 22:56
Вопрос задал: Andrew (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ballon
Здравствуйте, Andrew!

на realcoding.net там много статей
---------
Хочу все знать...
Ответ отправил: Ballon (статус: 7-ой класс)
Отправлен: 05.01.2006, 09:28

Отвечает: Сергей Т.
Здравствуйте, Andrew!
Советую поискать на msdn.com
Ответ отправил: Сергей Т. (статус: 1-ый класс)
Отправлен: 06.01.2006, 12:54


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное