ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #6171  
Старый 18.04.2010, 11:38
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

Репутация: 52
По умолчанию

имеются несколько файлов f1, f2, f3.

Procedure OpenFile1;
begin
assignfile(f1,'f1.dat');
if FileExists('f1.dat')
then reset(f1)
else rewrite(f1);
end;

Как сделать так, чтобы не писать три процедуры для открытия файлов? Что это за тип f1 ? Какого типа должна быть переменная a , чтобы a:=f1 ?
 

  #6172  
Старый 18.04.2010, 11:46
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме:
152084

Репутация: 8
По умолчанию

Цитата:
Сообщение от Si{R}ius  
имеются несколько файлов f1, f2, f3.

Procedure OpenFile1;
begin
assignfile(f1,'f1.dat');
if FileExists('f1.dat')
then reset(f1)
else rewrite(f1);
end;

Как сделать так, чтобы не писать три процедуры для открытия файлов? Что это за тип f1 ? Какого типа должна быть переменная a , чтобы a:=f1 ?
можно в одной процедуре всё описать, только место f1 подставлять f2 и f3 соответсвенно.
f1 - .dat (стандартный тип файлов для паскаля)

как ты переменной собрался присваивать файл?
ты вообще с файлами работал?-_-
assign (f1,'f1.dat') - те ты ассоцируешь ключевому слову f1 - файл f1.dat
 

  #6173  
Старый 18.04.2010, 12:33
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

Репутация: 52
По умолчанию

Я хочу вместо
Код:
Procedure OpenFile(nomer: byte);
begin
case Nomer of
1: begin assignfile(f1,'f1.dat');
    if FileExists('f1.dat') then reset(f1)
     else rewrite(f1); end;
2: begin assignfile(f2,'f2.dat');
    if FileExists('f2.dat') then reset(f2)
     else rewrite(f2); end;
3: begin assignfile(f3,'f3.dat');
    if FileExists('f3.dat') then reset(f3)
     else rewrite(f3); end;
end;
end;
получить нечто похожее на
Код:
Procedure OpenFile(a: ff);
begin
 case a of
  f1: str:='f1.dat';
  f2: str:='f2.dat';
  f3: str:='f3.dat';
 end;
 assignfile(a,str);
    if FileExists(str) then reset(a)
     else rewrite(a);
end;
я не знаю, как это правильно реализовать, так как раньше не сталкивался с этим.
 

  #6174  
Старый 18.04.2010, 13:43
buket
Новичок
Регистрация: 07.04.2007
Сообщений: 27
Провел на форуме:
338084

Репутация: -8
По умолчанию

подскажите как очистить одномерный массив от пустых значений(array of string)
 

  #6175  
Старый 18.04.2010, 13:53
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме:
3055344

Репутация: 259
Отправить сообщение для EndLeSSDre@M с помощью ICQ
По умолчанию

На сколько я помню, в VB это я делал так: находим пустой элемент, его удаляем, и смещаем все идущие за ним элементы на 1 пункт и т.д. думаю и на дельфи так же будет! пробуй


PHP код:
for i:=1 to n do begin
if a[i]:='' then do
begin
    
for t:=i+1 to n do
    
begin
         a
[t-1]:=a[t];
    
end;
n:=n-1;
end;
end

Последний раз редактировалось EndLeSSDre@M; 18.04.2010 в 14:10..
 

  #6176  
Старый 18.04.2010, 14:27
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме:
3055344

Репутация: 259
Отправить сообщение для EndLeSSDre@M с помощью ICQ
По умолчанию

Подскажите, где трабла? проблема в том что если прокся не рабочая, то выдает ошибку сокета 10060 типа превышено время ожидания.... пробовал по всякому как видите, от этой ошибки не избавился.... надо чтобы если прокся не рабочая, он удалял ее из списка и переходил дальше проверять!

PHP код:
var i,portinteger;
     
ProxyList,params,Presponseres:tstrings;
     
proxy,por,ip:string ;
     
begin

  ProxyList
:=tstringlist.Create;
  
ProxyList.LoadFromFile('Proxy.txt');
  
params:=TStringList.Create;
  
Presponseres:=TStringList.Create;

  if 
ProxyList.Text=''
  
then begin
  ShowMessage 
('Список пуст');
  exit;
  
end;

for 
i:= 0 to ProxyList.Count-do
begin
  Proxy
:=ProxyList.Strings[i];
  
ip:=getip(Proxy);
  
por:=getport(Proxy);
  
port:=StrToInt(por);
  
showmessage(proxy);
  
    try
    
IdHTTP1.ProxyParams.ProxyServer:=ip;
    
IdHTTP1.ProxyParams.ProxyPort:=port;
    
IdHttp1.ReadTimeout:=10000;
    
IdHTTP1.Get('http://getmyip.ru/');
    
except
    ProxyList
.Delete(i);
    
ProxyList.SavetoFile('Proxy.txt');
    
ProxyList.free;
    
end;
    
end;
   
    
end
ну че блин... никто помочь не может чтоль(((( всем помогаю, а мне никто(((

Последний раз редактировалось EndLeSSDre@M; 18.04.2010 в 14:29..
 

  #6177  
Старый 18.04.2010, 15:39
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от Si{R}ius  
Я хочу вместо
Код:
Procedure OpenFile(nomer: byte);
begin
case Nomer of
1: begin assignfile(f1,'f1.dat');
    if FileExists('f1.dat') then reset(f1)
     else rewrite(f1); end;
2: begin assignfile(f2,'f2.dat');
    if FileExists('f2.dat') then reset(f2)
     else rewrite(f2); end;
3: begin assignfile(f3,'f3.dat');
    if FileExists('f3.dat') then reset(f3)
     else rewrite(f3); end;
end;
end;
получить нечто похожее на
Код:
Procedure OpenFile(a: ff);
begin
 case a of
  f1: str:='f1.dat';
  f2: str:='f2.dat';
  f3: str:='f3.dat';
 end;
 assignfile(a,str);
    if FileExists(str) then reset(a)
     else rewrite(a);
end;
я не знаю, как это правильно реализовать, так как раньше не сталкивался с этим.
Попробуй вместо f1,f2,f3 использовать массив
тоесть примерно так:
PHP код:
var
  
f:array[1..3of textfile;

Procedure OpenFile(adword);
begin
  
case a of
    1
str:='f1.dat';
    
2str:='f2.dat';
    
3str:='f3.dat';
  
end;
  
assignfile(f[a],str);
  if 
FileExists(strthen 
    reset
(f[a])
   else 
     
rewrite(f[a]);
end
можно так:

PHP код:
var
  
f:array[1..255of textfile;

Procedure OpenFile(idword);
begin
  str
:='f'+inttostr(i)+'.dat';
  
assignfile(f[i],str);
  if 
FileExists(strthen 
    reset
(f[i])
   else 
     
rewrite(f[i]);
end
p.s. inttostr - перевод числа в строку (Delphi)
 

  #6178  
Старый 18.04.2010, 16:02
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от EndLeSSDre@M  
Подскажите, где трабла? проблема в том что если прокся не рабочая, то выдает ошибку сокета 10060 типа превышено время ожидания.... пробовал по всякому как видите, от этой ошибки не избавился.... надо чтобы если прокся не рабочая, он удалял ее из списка и переходил дальше проверять!

....

ну че блин... никто помочь не может чтоль(((( всем помогаю, а мне никто(((
Вот, ошибка не вылетает, если программу запускать отдельно, тоесть не под средой разработки, проверял на этом коде.

PHP код:
procedure TForm1.Button1Click(SenderTObject); 
begin 
IdHTTP1
.ProxyParams.ProxyServer:='114.127.246.36'
IdHTTP1.ProxyParams.ProxyPort:=8080
try 
  
IdHTTP1.Get('http://ya.ru'); 
  
showmessage('Рабочий'); 
except 
  showmessage
('Не рабочий'); 
  
// удаляем из списка
end
end

Меня смутили эти строки, при ошибке сохранить и освободить список? если тебе надо только удалить ненужный эл. списка, и продолжить цикл.
PHP код:
    ProxyList.SavetoFile('Proxy.txt');
    
ProxyList.free

Последний раз редактировалось JnK; 18.04.2010 в 16:12..
 

  #6179  
Старый 18.04.2010, 16:02
FALTONICK
Постоянный
Регистрация: 12.02.2009
Сообщений: 527
Провел на форуме:
4566140

Репутация: 0


Отправить сообщение для FALTONICK с помощью ICQ
По умолчанию

только начал изучение дельфи нужна функция поиска по определенному сайту. т.е. на сайте есть поиск к примеру http://photoshop.demiart.ru/ там справа функция поиска как эту функция перекинуть на дельфи? чтобы получилось типо:

[ это страка поиска ]
[кнопка поиск]
 

  #6180  
Старый 18.04.2010, 16:22
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от FALTONICK  
только начал изучение дельфи нужна функция поиска по определенному сайту. т.е. на сайте есть поиск к примеру http://photoshop.demiart.ru/ там справа функция поиска как эту функция перекинуть на дельфи? чтобы получилось типо:

[ это страка поиска ]
[кнопка поиск]
1. Смотришь исходный код страницы, находишь форму поиска.
2. Кидаешь на форму в программе Edit и Button
3. при нажатии Button выполнять запрос.
+ Сниффер в помощь

q=текст для поиска
+много скрытых полей
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ