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

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


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

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

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

Выпуск № 140
от 02.06.2005, 14:50

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 17


Вопрос № 21432: Добрый день. Подскажите, каким образом можно узнать работает сайт или нет, например http://www.morenews.ru/ Скажем есть Label1. с надписью "Сайт MoreNews:" и Label2 в нем должно отображаться работает или не работает. Все это будет...
Вопрос № 21449: Здравствуйте уважаемые эксперты. Прошу прощения за ламерский вопрос, но может Вы мне объясните, как прочитать первый символ из переменной Text типа String и добавить его в Edit1, а то я недавно взялся за delphi и не смог сам разобраться. Edit...
Вопрос № 21452: Как скопировать:Если нажать на один файл ShelListView1 и нажать кнопку Копировать?...

Вопрос № 21.432
Добрый день.
Подскажите, каким образом можно узнать работает сайт или нет, например http://www.morenews.ru/
Скажем есть Label1. с надписью "Сайт MoreNews:" и Label2 в нем должно отображаться работает или не работает. Все это будет помещено в OnCreate форму.
Заранее спасибо.
С Уважением, Myrus
Отправлен: 27.05.2005, 22:09
Вопрос задал: Комов (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Polesov Alexandr
Здравствуйте, Комов!
Вариант такой:
1) Пингуем сервер www.morenews.ru
2) Смотрим статистику пинга, если пакеты отпаравлены и доставлены без потерь то сайт работает...
Побробнее...
Понадобится компонент Indy - IdIcmpClient1 и Label
=========================cut===============================
procedure TForm1.FormCreate(Sender: TObject);
begin
IdIcmpClient1.Host:= '80.250.185.10'; //указывам IP адерес сервера...
IdIcmpClient1.Ping; //пингуем сервер
if IdIcmpClient1.ReplyStatus.TimeToLive <> 0 then
label1.caption:='Сервер работает!'
else
label1.caption:='Сервер в дауне!'
end.
=======================End cut==============================
Вот такой простой способ...
Ответ отправил: Polesov Alexandr (статус: 1-ый класс)
Отправлен: 28.05.2005, 12:19

Отвечает: Stamm
Здравствуйте, Комов!
Смотри в приложение
Она возвращает 2 кода '200'(ОК) или '302' (Редирект),

Приложение:

Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 28.05.2005, 19:19

Отвечает: sir henry
Здравствуйте, Комов!
Самый надежный способ - пропинговать его. Если получен ответ, то сайт скорее всего работает.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 30.05.2005, 08:39


Вопрос № 21.449
Здравствуйте уважаемые эксперты.
Прошу прощения за ламерский вопрос, но может Вы мне объясните, как прочитать первый символ из переменной Text типа String и добавить его в Edit1, а то я недавно взялся за delphi и не смог сам разобраться.
Edit1.Text:=Pos(?????);
Отправлен: 28.05.2005, 13:22
Вопрос задал: source (статус: Посетитель)
Всего ответов отправлено: 12

Отвечает: Jadd
Здравствуйте, source!
Зачем Pos юзать. Он возвращает подстроку строки. Нафига, если нужно только первый символ? Строка - массив символов, а, стало быть, как подобает при работе с массивами мы просто обращаемся к этому сиволу по его индексу в строке, т.е. mychar := mytext[1]; Нулевой индекс занят каким-то служебным байтом, а последний байт - байт завершения строки. Все. Удачи.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 5-ый класс)
Отправлен: 28.05.2005, 13:43
Оценка за ответ: 5

Отвечает: Bochvarov NikB
Здравствуйте, source!
if Text<>'' then begin
Edit1.Text :=Text[1];
end;
1. А если "добавит":
Edit1.Text :=Edit1.Text +Text[1];
или (не одно и тоже:)
Edit1.Lines.Add(Text[1]);
2. Не най-лучше ползовать имен как Text
3. Посмотри: copy(Text,1,1)
Ответ отправил: Bochvarov NikB (статус: 4-ый класс)
Отправлен: 28.05.2005, 14:04
Оценка за ответ: 5

Отвечает: Boriss
Здравствуйте, source!
Добавлю, про какой-то служебный нулевой байт - в Delphi - это в ShortString байт длины (как в Паскале ord(s[0]) равносильно length(s)), но не все так просто: в делфи строка имеет динамическую длину. Вот попробуйте такой код написать (как в приложении) иполучите:
0 4, len= 10240

Приложение:

---------
Прорвемся! (Быть может :(( )

Ответ отправил: Boriss (статус: Профессор)
Отправлен: 28.05.2005, 14:34
Оценка за ответ: 5

Отвечает: nimoid
Здравствуйте, source!
Переменная типа String представляет собой массив символов. Доступ к каждому элементу массива осуществляется по его индексу. Но в переменной типа String нулевой элемент служебный, нумерация символов идет с 1. Т.е. первый символ в твоей переменной это Text[1].
В Edit добавить символ можно так: Edit1.text:=Edit1.text+Text[1].
Если же надо чтоб всегда добавлялся только один символ, то так: Edit1.text:=Text[1]
p.s. Чтобы не просить прощения за ламерские вопросы, надо документацию читать. :)
Ответ отправил: nimoid (статус: 2-ой класс)
Отправлен: 28.05.2005, 15:15
Оценка за ответ: 5

Отвечает: Alex Diesel
Здравствуйте, source!<br>А нельзя к элементам строки обращаться по индексу? Типа: edit1.text=s[1];
Ответ отправил: Alex Diesel (статус: 5-ый класс)
Отправлен: 28.05.2005, 15:26
Оценка за ответ: 5

Отвечает: Stamm
Здравствуйте, source!
Функция pos проверяет вхождение строки в другую строку
Например, s:string;
S[1]
C функцией copy
Copy(s,1,1)
Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 28.05.2005, 19:22
Оценка за ответ: 5

Отвечает: Master89
Здравствуйте, source!
Легко:
Edit1.Text:=Text[1];
Ответ отправил: Master89 (статус: 4-ый класс)
Отправлен: 29.05.2005, 05:52

Отвечает: Ballon
Здравствуйте, source!
Это совсем просто:
Edit1.Text := Text[1]; Даст тебе первый символ.
Ответ отправил: Ballon (статус: 2-ой класс)
Отправлен: 30.05.2005, 07:51

Отвечает: sir henry
Здравствуйте, source!
Тип string - это по-другому массив из букв, поэтому к любой букве строки Вы можете обратиться по индексу ее положения в строке.
Вот пример для первой буквы:
var
st: string;
Begin
st:='Моя веселая строка!';
Edit1.Text:=st[1];
End;
В Edit1 появиться 'М'.
Если Вам нужна какая-то конкретная буква, то ее индекс находится через функцию Pos(), например:
var
st: string;
i: integer;
Begin
st:='Моя веселая строка!';
{Поиск индекса буквы}
i:=Pos('я', st);
Edit1.Text:=st[i];
End;
В Edit1 появится буква 'я'.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 30.05.2005, 08:46

Отвечает: Delphin
Здравствуйте, source!
StrCopy(); Подробно читай в справке. Неужели так сложно открыть справку и почитать?

---------
Ищу сервис пак для школы ^)))
Ответ отправил: Delphin (статус: 3-ий класс)
Отправлен: 30.05.2005, 15:56

Отвечает: VBA
Здравствуйте, source!
Edit1.Text:=Copy(Text,1,1);
---------
Неправ вечно юзер, ибо прав всегда Админ!
Ответ отправил: VBA (статус: 4-ый класс)
Отправлен: 30.05.2005, 16:05

Отвечает: streetcat
Здравствуйте, source!
edit1.text := text[1];
...............................

---------
boo... boo
Ответ отправил: streetcat (статус: 4-ый класс)
Отправлен: 30.05.2005, 22:24


Вопрос № 21.452
Как скопировать:Если нажать на один файл ShelListView1 и нажать кнопку Копировать?
Отправлен: 28.05.2005, 14:13
Вопрос задал: Sassoft (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: X
Здравствуйте, Sassoft!
Сначала надо узнать имя выделеного файла - ShellListView1.SelectedFolder.PathName,
потом скопировать его- CopyFile(PChar(что),PChar(куда),false-перезаписывать если такой уже есть).
Но эта фунция копирует только 1 файл. Если надо скопировать папку то надо делать рекруссию(создать папку - CreateDir), если не ясно как - пиши.
Ответ отправил: X (статус: 5-ый класс)
Отправлен: 28.05.2005, 15:33

Отвечает: Stamm
Здравствуйте, Sassoft!
В приложении функция копирования файла

Приложение:

Ответ отправил: Stamm (статус: 4-ый класс)
Отправлен: 28.05.2005, 19:42


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

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

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

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

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


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


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

Яндекс


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

В избранное