ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

26.05.2009, 21:17
|
|
Новичок
Регистрация: 22.01.2009
Сообщений: 3
Провел на форуме: 10815
Репутация:
0
|
|
можно ли преобразовать, например, '%systemroot%' в 'C:\windows' в зависимости от расположения windows?
|
|
|

26.05.2009, 22:05
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от cepera666
можно ли преобразовать, например, '%systemroot%' в 'C:\windows' в зависимости от расположения windows?
1/немного помучавшись со строками можно. но придётся создать промежуточную страницу, чтоб записать данные системы клиента)
2.Напиши, например, в командной строк
set systemroot=ПУТЬ
3.А лучше - в настройках переменных окружения измени.
4/ .А ещё лучше - не майся дурью. 
Последний раз редактировалось KaZ@NoVa; 26.05.2009 в 22:08..
|
|
|

26.05.2009, 23:29
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Код:
var
buf:array[0..255] of char;
p:integer;
s:string;
begin
s:='%systemroot%\file.txt';
GetWindowsDirectory(buf,255);
p:=pos('%systemroot%',s);
if p>0 then
begin
delete(s,p,12);
insert(buf,s,p);
end;
showmessage(s)
end;
|
|
|

27.05.2009, 10:44
|
|
Новичок
Регистрация: 20.11.2008
Сообщений: 21
Провел на форуме: 36080
Репутация:
13
|
|
Здравствуйте! В своей программе использую компонент ListView. Добавляю в него несколько записей:
Код:
ListView1.Items.Add;
ListView1.Items[ListView1.Items.Count - 1].Caption := Edit1.Text;
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit2.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit3.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit4.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit5.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit6.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit7.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit8.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit9.Text);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit10.Text);
Свойство SortType установил в stText.
Проблема такая: при добавлении скажем первой записи (это фамилии), допустим Агзамов ну и остальных субитемов, не важно, она нормально заносится в ListView, затем добавляю еще одну запись, например, Климин вместе с субитемами, так вот она тоже нормально заносится и все субитемы отображаются. Теперь самое главное - добавляю третью запись: напрмер, Гараев, она должна при установленном свойстве SortType быть между этими записями. Так и есть заношу третью запись, но! отображается только первое поле (Item), а все остальные (subItems) не отображаются. Хотелось бы знать почему такое происходит и как обойти это. Самое интересное, что если свойство SortType установить в stNone, то записи добавляются последовательно и не сортируются, но зато все поля отображаются.
Последний раз редактировалось X-TAZY; 27.05.2009 в 10:51..
|
|
|

27.05.2009, 17:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ты добавил его 3-м элементом. Он после сортировки стал вторым, к примеру.
И скорее всего нарушилась связь между этим элементом и его вложенными элементами.
Попробуй как нибудь сначало создать элемент, заполнить его, а тока потом кидать в ListView
|
|
|

27.05.2009, 18:08
|
|
Новичок
Регистрация: 20.11.2008
Сообщений: 21
Провел на форуме: 36080
Репутация:
13
|
|
Не понял, почему третьим я добавил?
Код:
ListView1.Items.Count-1
- это же в конец записи добавляется. И если записей нету, то добавление происходит с первой записи, затем вторая запись записывается, третья и т.д. Т.е. нужно сначала объявить переменную TListItem, а затем наполнить значениями, ну и потом присвоить их компоненту ListView?
Последний раз редактировалось X-TAZY; 27.05.2009 в 18:22..
|
|
|

27.05.2009, 22:08
|
|
Новичок
Регистрация: 20.11.2008
Сообщений: 21
Провел на форуме: 36080
Репутация:
13
|
|
Сообщение от X-TAZY
Не понял, почему третьим я добавил?
Код:
ListView1.Items.Count-1
- это же в конец записи добавляется. И если записей нету, то добавление происходит с первой записи, затем вторая запись записывается, третья и т.д. Т.е. нужно сначала объявить переменную TListItem, а затем наполнить значениями, ну и потом присвоить их компоненту ListView?
Все разобрался сам! Если кому понадобится: сортировка идет по первому символу - в данном случае десятая запись вполне закономерно добавляется после первой, затем одиннадцатая итд до двадцатой, которая добавляется после второй итд. Буду думатьтеперь как обойти эту брешь
|
|
|

27.05.2009, 23:58
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
Не работает try...expect
Код:
PHP код:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
memo1.Lines.Text:=IdHTTP1.Get('http://programmersforum.r/');
except
ShowMessage('Ошибка!');
end;
end;
Должна высветиться ошибка (showmessage)
Но высвечивается ошибка при выполнении программы (что в мемо не может быть присвоенно код страницы)
(я специально сделал неверный адрес в GET)
Я слышал что некоторые версии компонента idHTTP всегда ошибку высвечивают если что-то не так (try не спасает)
Вообщем помогите, что делать?
|
|
|

28.05.2009, 09:16
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме: 1249808
Репутация:
149
|
|
запускай не из под делфи
|
|
|

28.05.2009, 09:50
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 RumShun Можно запускать и в Delphi, но при возникновении эксепшена тебя перекинет в отладчик дельфовый, а там ты можешь нажать на F9 для того чтобы продолжилось выполнение проги и тогда эксепшен обработается внутри неё )
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|