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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 1028
от 08.01.2008, 10:05

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 116607: С НОВЫМ ГОДОМ!!! Здравствеуте! Не могли бы вы рассказать в чём принцип работы обработчика ошибок (буквально 10 слов). Заранее спасибо...
Вопрос № 116620: Здравствуйте! Необходимо создать приложение работающее с географическими картами. Не могли бы Вы подсказать где найти MapObjects. Заранее спасибо!...
Вопрос № 116664: Здравствуйте уважаемые эксперты ! Помогите пожалуйста: Вопрос по XML. Имеется файл test.xml, его содержание в приложении, объясните пожалуйста как мне прочитать все значения, например только из page id="1", как мне прочитать значение из...
Вопрос № 116682: Здравствуйте дорогие эксперты, у меня вопрос довольно простой и возможно для кого то глупый, но не для меня . Вообщем мне надо по нажатию одной кнопки перемещать рандомно ListBox... Заранее спасибо...
Вопрос № 116686: Здравствуйте! Пожалуйста, покажите мне алгоритм преобразования строки в число и преобразования числа в строку. Заранее спасибо!:-) И Всех с новым годом!!!:-) ..

Вопрос № 116.607
С НОВЫМ ГОДОМ!!! Здравствеуте! Не могли бы вы рассказать в чём принцип работы обработчика ошибок (буквально 10 слов). Заранее спасибо
Отправлен: 02.01.2008, 11:23
Вопрос задал: Нещин Василий Фёдорович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Нещин Василий Фёдорович!
Уточните, пожалуйста, что имеется ввиду под принцип работы обработчика ошибок.
Обрабатывать ошибки нужно, чтобы программа не переставала работать, выдавая ошибку в случае ввода неверных данных; или, например, отсутствии каких-то ресурсов необходимых для работы программы.
Советую почитать эти статьи:
http://ru.wikipedia.org/wiki/Обработка исключений
http://www.codenet.ru/progr/delphi/stat/errors.php
http://www.bookresearch.ru/exceptionManagement.htm
http://www.realcoding.net/article/view/2879

Удачи!
Ответ отправил: Николай Владимирович / Н.В. (статус: Практикант)
Ответ отправлен: 02.01.2008, 12:41
Оценка за ответ: 5


Вопрос № 116.620
Здравствуйте!
Необходимо создать приложение работающее с географическими картами.
Не могли бы Вы подсказать где найти MapObjects.
Заранее спасибо!
Отправлен: 02.01.2008, 13:34
Вопрос задал: RomerO (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Drbear
Здравствуйте, RomerO!

http://www.esri.com/software/mapobjects/index.html
http://www.dataplus.ru/Soft/ESRI/Map_Obj/index.htm
http://www.iteria.ru/catalogsoft_2206.htm и т.д.

Сходите а google.
Ответ отправил: Drbear (статус: 4-ый класс)
Ответ отправлен: 02.01.2008, 13:53


Вопрос № 116.664
Здравствуйте уважаемые эксперты !
Помогите пожалуйста: Вопрос по XML. Имеется файл test.xml, его содержание в приложении, объясните пожалуйста как мне прочитать все значения, например только из page id="1", как мне прочитать значение из: page id="2" <t id="1">, как проверить существование какого-то <t id="?"> в page id="?", и как мне точно в таком формате
<t id="ID">TEXT</t>
записать их. С "page" я научился немного, но объясните вышеизложенное , буду очень благодарен !
Это мне нужно т.к. я делаю программу для любимой игры и в будущем пригодится. Вот и приходится надеяться на помощь знающих людей, ведь мир не без добрых людей ! Помогите, пожалуйста...
Очень хотелось бы с примерами.

Приложение:

Отправлен: 02.01.2008, 21:23
Вопрос задал: Sovin Oleg Alexeewith (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: PavelGM
Здравствуйте, Sovin Oleg Alexeewith!

Вот так однако можно читать при вашем формате

uses XMLDoc, XMLdom, XMLIntf;
var AXML : TXMLDocument; ABaseNode : IXMLNode;
begin
try
AXML := TXMLDocument.Create(Self);
AXML.FileName := AFileName;
AXML.Active := True;
ABaseNode := AXML.ChildNodes.FindNode('language');

if Assigned(AbaseNode) then
for i := 0 to ABaseNode.ChildNodes.Count-1 do
if ABaseNode.ChildNodes[i].ChildNodes['id'].NodeValue = 1
then ДелаемЧтоНадо;

except
ShowMessage(Format('Error in parse file: "%s"', [AFileName]));
end;

AXML.Free;
end;

Проверять на наличие можно через такое же сравнение на ChildNodes['id'].NodeValue = 1 только уже от следуещего уровня "детей".

Писать, говорят, тоже как-то через TXMLDocument можно. Посмотрите все методы данного объекта.

P.S. На практике простой Writeln в текстовый файл меня всегда отлично устраивал при формировании XML (обычно сам генерю XML файлы, чужие не трогал на запись).
Ответ отправил: PavelGM (статус: Студент)
Ответ отправлен: 03.01.2008, 19:42
Оценка за ответ: 4


Вопрос № 116.682
Здравствуйте дорогие эксперты, у меня вопрос довольно простой и возможно для кого то глупый, но не для меня . Вообщем мне надо по нажатию одной кнопки перемещать рандомно ListBox... Заранее спасибо
Отправлен: 02.01.2008, 23:30
Вопрос задал: Lantan555 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Lantan555!
Код в приложении.
В событии OnShow для формы инициализируете генератор случайны чисел (randomize).
А при нажатии на кнопку меняете расположение ListBox-a (ListBox1.Left и ListBox1.Top).
Разность в формуле нужна чтобы ListBox не выскакивал за пределы окна.

Удачи!

Приложение:

Ответ отправил: Николай Владимирович / Н.В. (статус: Практикант)
Ответ отправлен: 02.01.2008, 23:43

Отвечает: Виктор Пырлик
Здравствуйте, Lantan555!

Вот функция, и её пример использования.
Идет случайным образом перемешивание значений:

procedure RandList(slist:TStrings);
var list:TStrings;
i,x:integer;
begin
list := TStringList.Create;
list.AddStrings(slist);
Randomize;
for i:=0 to slist.Count-1 do
begin
x := Random(list.Count);
slist[i] := list[x];
list.Delete(x);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
RandList(Form1.ListBox1.Items);
end;


---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Специалист)
Ответ отправлен: 03.01.2008, 13:37

Отвечает: Genia007
Здравствуйте, Lantan555!
Пробуйте следующее
ListBox.Left:=Random(максимальное значение длины формы);
ListBox.Top:=Random(Максимальное значение высоты формы);
Ответ отправил: Genia007 (статус: 3-ий класс)
Ответ отправлен: 05.01.2008, 15:05
Оценка за ответ: 5


Вопрос № 116.686
Здравствуйте!
Пожалуйста, покажите мне алгоритм преобразования строки в число и преобразования числа в строку.
Заранее спасибо!:-) И Всех с новым годом!!!:-)
Отправлен: 02.01.2008, 23:58
Вопрос задала: Krista (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 14)

Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Krista!
Перевод производится стандартными функциями:
IntToStr (число в строку), StrToInt (строка в число) - для целых чисел
FloatToStr (число в строку), StrToFloat (строка в число) - для дробных
Также есть функции Str (любое числов строку с дополнительными параметрами) и Val (строку в число).
И самая мощная функция - Format - на все случаи жизни :)

Удачи!

Исправлена ссылка по просьбе эксперта.
-----
∙ Отредактировал: Alexandre V. Tchamaev (*Управляющий)
∙ Дата редактирования: 03.01.2008, 00:48
Ответ отправил: Николай Владимирович / Н.В. (статус: Практикант)
Ответ отправлен: 03.01.2008, 00:11
Оценка за ответ: 5
Комментарий оценки:
Спасибо, конечно, что ответили, но я не совсем то имела ввиду.

Отвечает: Gh0stik
Здравствуйте, Krista!

Чтож вот попробовал изобрести велосипед ;)))
Это описание двух функций, которые соответсвенно делают перобразование строки в число и наоборот.

{функция преобразовывает ЦЕЛЫЕ числа в строку}
function ToStr(x:longint):string;
var s:string;
    z:char;
begin
  if x<0 then begin z:='-'; x:=-x; end else s:=''; //предварительная обработка отрицательных чисел
  while x > 0 do
  begin
    s:=chr(ord('0')+x mod 10)+s; //преобразовываем цифру в символ и дополняем результат
    x:=x div 10; //уменьшаем число на один разряд
  end;
  Result: =z+s;
end;

{функция преобразования строки в ЦЕЛОЕ число}
function ToInt(x:string):longint;
var t,r:longint;
    z:boolean;
begin
  t:=0; r:=10;
  if x[1]='-' //предварительная обработка отрицательных чисел
      then begin z:=true; delete(x,1,1);end
      else z:=false;
  while x<>'' do
  begin
    t:=t*r + ord(x[1])-ord('0'); //используя стандартную функцию ord вычисляем
                                 //цифровое представление символа и прибавляем
                                 //к результату с учетом разряда
    delete(x,1,1); //удаляем из строки обработанный символ
  end;
  Result:=((-1)*ord(z)+ord(not z))*t;
end;


Пример использования данных функций:
...
begin
Edit1.Text:=IntToStr(ToInt('7594001'));
Edit2.Text:=ToStr(-12004546);
end;
...


Замечание: Данные функции предназначены только для обработки целых чисел или строк не содержащих "ошибочных" симовлов, кроме того была предусмотрена обработка "знаковых" (отрицательных) чисел. Дополнительных проверок на соответствие вводимых данных неведется!!!

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Академик)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
WWW: http://gh0stik.rusfaq.ru/
ICQ: 289363162
----
Ответ отправлен: 03.01.2008, 02:23
Оценка за ответ: 5
Комментарий оценки:
Вот спасибо Вам ОГРОМНОЕ!!!:-)
Вам УДАЧИ!!!:-)

Отвечает: Сычёв Павел Алексеевич
!!!
Здравствуйте, Krista!
Для этих преобразований используется функции:
StrToInt(s:string):integer; - для преобразования строки в число
IntTOStr(i:integer):string; - для преобразования числа в строку

Ответ повторный!!!
-----
∙ Отредактировал: Gh0stik (Академик)
∙ Дата редактирования: 03.01.2008, 17:27
Ответ отправил: Сычёв Павел Алексеевич (статус: 2-ой класс)
Ответ отправлен: 03.01.2008, 16:06


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.69 от 06.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное