ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Delphi] памогите с функцией
  #1  
Старый 07.04.2010, 23:56
cel
Познающий
Регистрация: 11.11.2008
Сообщений: 72
Провел на форуме:
763861

Репутация: 0
Отправить сообщение для cel с помощью ICQ
По умолчанию [Delphi] памогите с функцией

Вот функция:

PHP код:
function TForm1.Parsing(text:String): string;
var
i:integer;
SkTStringList;
 
NewMsg,name:string;
 New:
TStringList;
begin
sk
:= TStringList.Create;
sk.Text:=text;
     For 
:= 0 To sk.Count -do
     
begin
       
If Pos('id="homelink"'sk[I]) <> 0 Then
       begin
          id 
:= sk[I];
          
id := Copy(idPos('href="'id), Length(id));
          
Delete(idPos('">'id),Length(id));
          
id := Copy(idPos('id'id), Length(id));
          
Delete(id1,2);
       
end;
     
end;

     For 
:= 0 To sk.Count -do
     
begin
       
If Pos('<div class="shah">'sk[I]) <> 0 Then
       begin
          name 
:= sk[I];
          
name := Copy(namePos('">'name), Length(name));
          
delete(name,Pos('<'name), Length(name));
          
delete(name12);
       
end;
     
end;

     For 
:= 0 To sk.Count -do
     
begin
       
If Pos('<a href="/mail.php?id='sk[I]) <> 0 Then
       begin
          mesage 
:= sk[I];
          
mesage := Copy(mesagePos('<a href="/mail.php?id='mesage), 100);
          if 
Pos('</b>'mesage) <>0 then
          begin
          delete
(mesagePos('</b>'mesage),Length(mesage));
          
delete(mesagePos('<a href='mesage),pos('(<b>',mesage));
          
delete(mesage1,3);
          
end
          
else
          
mesage:='нет';
       
end;
     
end;

 if 
strtoint(id) <>0 then
 begin
label3
.Caption:='У вас '+mesage+' новых сообщений.';
Label1.Caption:='Здраствуйте '+name;
Label2.Caption:='Ваш ИД: '+id;
NewMsg:=name+', у вас '+mesage+' новых сообщений';
memo1.lines.add(NewMsg);
end
else
begin
NewMsg
:='Вы не авторизованы!';
memo1.lines.add(NewMsg);
new.
Free;
sk.Free;
end
Она выдаёт ошибку когда её вызываеш опять другой кнопкой

Код HTML:
projekt   raised exception class EAccess Violation with message:" Access violation at address 00000020.Read of address  00000020",Progres stopped ...
И ещё вапрос,как сделать чтоб приложение ело меньше опиротивы??
 
Ответить с цитированием

  #2  
Старый 07.04.2010, 23:59
DeepBlue7
Познающий
Регистрация: 02.01.2009
Сообщений: 90
Провел на форуме:
390073

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

Цитата:
Сообщение от cel  
И ещё вапрос,как сделать чтоб приложение ело меньше опиротивы??
Ну по конкретному приложению помочь немогу... а вообще - поменьше использовать "повторялки" одного и того-же кода...
 
Ответить с цитированием

  #3  
Старый 08.04.2010, 00:01
cel
Познающий
Регистрация: 11.11.2008
Сообщений: 72
Провел на форуме:
763861

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

У меня нет "повторялок" кода)
 
Ответить с цитированием

  #4  
Старый 08.04.2010, 00:02
[stranger]
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме:
612028

Репутация: 28
Отправить сообщение для [stranger] с помощью ICQ
По умолчанию

не инициализирована new
добавь строчку new := TStringList.Create;
Код:
function TForm1.Parsing(text:String): string; 
var 
...
begin 
new := TStringList.Create;
sk:= TStringList.Create; 
sk.Text:=text;
...
end;

Последний раз редактировалось [stranger]; 08.04.2010 в 00:06.. Причина: добавил код
 
Ответить с цитированием

  #5  
Старый 08.04.2010, 00:12
cel
Познающий
Регистрация: 11.11.2008
Сообщений: 72
Провел на форуме:
763861

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

добавил всеравно этоже ошибка
 
Ответить с цитированием

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

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

1. Код можно было уменьшить в 2, а то и в 3 раза. Как сказал DeepBlue7, повтор есть.
На пример: Цикл, зачем 3 раза, если можно 1 раз, всеравно нет глобально зависящих переменных.
2. Насчет ошибки, при повторном запуске он пробует считать данных которых нет. Следовательно F8 и смотри, где убиваются они.
 
Ответить с цитированием

  #7  
Старый 08.04.2010, 18:12
cel
Познающий
Регистрация: 11.11.2008
Сообщений: 72
Провел на форуме:
763861

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

непамогло(((
 
Ответить с цитированием

  #8  
Старый 08.04.2010, 18:22
Berman
Участник форума
Регистрация: 20.02.2010
Сообщений: 121
Провел на форуме:
496930

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

free юзай не будет столько жрать
 
Ответить с цитированием

  #9  
Старый 08.04.2010, 18:39
cel
Познающий
Регистрация: 11.11.2008
Сообщений: 72
Провел на форуме:
763861

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

юзаю
 
Ответить с цитированием

  #10  
Старый 08.04.2010, 18:40
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

Репутация: 175
Отправить сообщение для Chrome~ с помощью ICQ
По умолчанию

На выполнении какой строки ошибка происходит?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Indy10.5.5 Авторизация ВК cel С/С++, C#, Delphi, .NET, Asm 5 18.02.2010 13:12
Нужен ФлешПлеер с функцией стриминга spamerr PHP, PERL, MySQL, JavaScript 0 31.12.2009 01:55
[Delphi] Генератор мусора ex3me С/С++, C#, Delphi, .NET, Asm 9 01.08.2009 23:52
В Сингапуре изобретен мобильный телефон с функцией ключей от машины novichok Новости мира "железа" 0 05.02.2006 16:33



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


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




ANTICHAT.XYZ