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

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


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

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

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

Выпуск № 185
от 20.07.2005, 17:40

Администратор:Калашников О.А.
В рассылке:Подписчиков: 222, Экспертов: 31
В номере:Вопросов: 4, Ответов: 10


Вопрос № 23520: Здраствуйте уважаемые эксперты, вопрос такой как можно посчитать или узнать скорость мышки например в метрах на секунду, заранее спасибо....
Вопрос № 23526: Добрый вечер. Помогите пожалуйста решить проблему. Нужно сделать конвертер ini файла, то-есть. Есть ini вида логин=пароль, а нужно чтобы конвертировало этот же ini в вид логин!$!пароль. И как-то, сделать бы проверку, скажем на проверку, е...
Вопрос № 23538: Здравствуйте, уважаемые эксперты!!! Как можно сделать калькулятор дат. Как можно рассчитать сколько дней прошло со дня рождения по сегодняшнюю дату. Или сколько дней, сколько месяцев, сколько лет прошло. Благодарю за ответы....
Вопрос № 23549: Привет всем. По поводу вопроса № 23504: благодарю всех, кто откликнулся но! - предложенный способ не работает (экспертf Gin'а), а Jadd'a очень прошу выслать на мыло getaccountsid#yandex#ru его рабочий код. Спасибо всем, если что, пишите :-)...

Вопрос № 23.520
Здраствуйте уважаемые эксперты, вопрос такой как можно посчитать или узнать скорость мышки например в метрах на секунду, заранее спасибо.
Отправлен: 14.07.2005, 20:46
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов отправлено: 2

Отвечает: streetcat
Здравствуйте, Станислав!
дык поставь таймер, например, на 100 мс и каждый тик обрабатывай:
- запоминаешь положение мышки в пременную OldPos
- берешь текущее положение, и высчитываешь разность позиций
- получается количество пикселей, которое надо умножить, например на 0.25 (смотря какой у твоего монитора размер пиксела, обычно 0.2, 0.25 мм)
- получится дистанция в миллиметрах, которые, я надеюсь та знаешь как перевести в метры. (разделить на 1000)
- это скорость xxx м/100 мс, теперь умножаешь на 10 и будет ххх м/с
если не сможешь реализовать приведенный алгоритм пиши на мыло: michael91@yandex.ru
---------
streetcat_x@yahoo.com
Ответ отправил: streetcat (статус: 7-ой класс)
Отправлен: 14.07.2005, 21:18
Оценка за ответ: 5

Отвечает: sir henry
Здравствуйте, Станислав!
Скорость движения мышки по коврику или скорость движения курсора мышки на экране?
Надеюсь Вы мышкой в машинки не играете? :))
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 15.07.2005, 12:43


Вопрос № 23.526
Добрый вечер.
Помогите пожалуйста решить проблему.
Нужно сделать конвертер ini файла, то-есть.
Есть ini вида логин=пароль, а нужно чтобы конвертировало этот же ini в вид логин!$!пароль. И как-то, сделать бы проверку, скажем на проверку, если есть строка ID=1, то файл нового образца, если нету значит старого и конвертить.

С Уважением, Алексей
Отправлен: 14.07.2005, 23:09
Вопрос задал: Алексей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: sir henry
Здравствуйте, Алексей!
Это уже будет не ini файл, а обычный текстовый. :)
В этом случае Вам проще всего считав из ini файла связку ПАРАМЕТР=ЗНАЧЕНИЕ с помощью класса TIniFile (про него уже столько раз писалось в этой рассылке, что смысла повторятся я не вижу) просто конкатенировать их и закинуть в текстовый файл:
var
f-ini: TIniFile;
f-txt: TextFile;
param: string; {Название параметра, т.е. логин}
znach: string; {Значение, т.е. пароль}
i: integer;
Begin
{В первой части Вы считываете параметры и значения из ini файла}
AssignFile(f-txt, 'ne-ini-file.txt'); {Расширение, естественно, может быть любым}
Rewrite(f-txt);
For i:=1 to Сколько_там_у_Вас_логинов do
WriteLn(f-txt, param+'!$!'+znach);
CloseFile(f-txt);
End;
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 15.07.2005, 12:37

Отвечает: Denisss
Здравствуйте, Алексей!
Не совсем понятно, что Вы собираетесь делать с названиями секций и как собираетесь разделять пароль предыдущего пользователя от лонина следующего.
Приблизительный пример приведен в приложении: если кратко, то там просто-напросто символ "=" заменен на "!$!", но Вам же никто не мешает исправить это так, как Вам этого захочется.

Приложение:

Ответ отправил: Denisss (статус: 10-ый класс)
Отправлен: 15.07.2005, 22:16

Отвечает: Werewolf
Здравствуйте, Алексей!
Для данной задачи можно не создавать объект типа TINIFile.
Так например:

procedure TFormRepEq.ButConvertClick(Sender: TObject);
var st:TStringList;
begin
st:=TStringList.Create;
try
st.LoadFromFile(ExtractFilePath(Application.ExeName)+'file1.ini');
if pos('ID=1',UpperCase(st.Text))>0 then raise Exception.Create('Файл нового образца');
st.Text:=stringreplace(st.Text,'=','!$!',[rfReplaceAll]);
st.SaveToFile('file1.ini');
finally
st.Free;
end;
end;

З.Ы.: для проверки правильности версии файла id=1 должно писаться без пробелов
Ответ отправил: Werewolf (статус: 3-ий класс)
Отправлен: 17.07.2005, 23:35


Вопрос № 23.538
Здравствуйте, уважаемые эксперты!!!
Как можно сделать калькулятор дат. Как можно рассчитать сколько дней прошло со дня рождения по сегодняшнюю дату. Или сколько дней, сколько месяцев, сколько лет прошло. Благодарю за ответы.
Отправлен: 15.07.2005, 06:41
Вопрос задал: xXx (статус: 3-ий класс)
Всего ответов отправлено: 4

Отвечает: LanK
Здравствуйте, xXx!

Необходимо вообще то версию Дельфи указывать :( !

Дельфи7:

подключить модуль
DateUtils

использовать функцию:
DaysBetween

Ну а дальше умножать... или использовать
MonthsBetween MinutesBetween ... есть готовая программа, могу выложить.
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: 1-ый класс)
Отправлен: 15.07.2005, 13:03
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Буду очень признателен за программку, если можно, то скинь пожалуйста на мой ящик: dyv@betfor.ru. А Delphi у меня 7 стоит.

Отвечает: Rusland
Здравствуйте, xXx!
Для определения разницы дней между датами можно использовать TDateTime. Смотри пример в приложении.

Приложение:

Ответ отправил: Rusland (статус: 7-ой класс)
Отправлен: 15.07.2005, 13:34

Отвечает: streetcat
Здравствуйте, xXx!
тип TDateTime - число с плавающей точкой. Целая часть - количество суток, дробная - часть суток. Отсюда:
var
birthdate: TDateTime; // дата рождения
xdate: TDateTime; // вычисляемое значение
begin
birthdate := strtodate(Edit1.Text); // вводим дату рождения из Edit1
xdate := date - birthdate; // вычисляем сутки
showmessage('С дня вашего рождения прошло: '+floattostr(xdate)+' суток');
end;
дату рождения наверное лучше брать из календаря TDateTimePicker. Тогда превая строка после begin будет выглядеть так: birthdate := DateTimePicker1.Date;
Удачи!
---------
streetcat_x@yahoo.com
Ответ отправил: streetcat (статус: 7-ой класс)
Отправлен: 15.07.2005, 14:21

Отвечает: Jadd
Здравствуйте, xXx!
есть функция DecodeDate. Она примнимает как параметр дату, которую хочешь разбить на представление День, Месяц, Год...и возвращает дату как три поля целого типа, т.е. отдельно для года, отдельно для месяца, отдельно для дня (иными словами дата 15/07/2005 вернет для поля день - 15, месяц - 7, год - 2005). Ну а что дальше с этим делать - это вопрос к тебе. Сравнить даты или вычислить разницу - дело художника :).
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 15.07.2005, 15:13


Вопрос № 23.549
Привет всем. По поводу вопроса № 23504: благодарю всех, кто откликнулся но! - предложенный способ не работает (экспертf Gin'а), а Jadd'a очень прошу выслать на мыло getaccountsid#yandex#ru его рабочий код. Спасибо всем, если что, пишите :-)
Отправлен: 15.07.2005, 10:49
Вопрос задал: Алексей Петрович Вульфенштейн (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Jadd
Здравствуйте, Алексей Петрович Вульфенштейн!
Дык а там присылать собственно нечего. В Дельфи 7 я просто на нажатие кнопки сделал цикл, который создает 1000 элементов. Полосы прокрутки появлялись автоматически всякий раз, когда элементы уходили за ClientRect. Поэтому я просил уточнить на случай, если ты пишешь свой контрол и у тебя что-то не выходит.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 15.07.2005, 11:36


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


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

В избранное