Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.01.2009, 23:59
Kot137 Kot137 вне форума
Прохожий
 
Регистрация: 04.01.2009
Сообщения: 6
Репутация: 10
По умолчанию Delete в Delphi 2009 (строковые функции)

Коллеги, или я от жизни отстал (4 года в ASP) или что-то не так:
Строковая функция Delete отказывается работать в Rave 2009.
Вроде в uses - StrUtils прописал, но на
Код:
tmp:=Delete('skjdnvfskjvcnskdjfks',2,3);
выдает: [DCC Error] Unit1.pas(63): E2197 Constant object cannot be passed as var parameterЯ не те uses'ы цепляю или есть изменения или что?
Спасибо!
Ответить с цитированием
  #2  
Старый 05.01.2009, 00:48
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Все верно. Дело в том, что параметром данной функции является строковая переменная. Поэтому правильно было бы

Код:
Var
S:string;
begin
S:='skjdnvfskjvcnskdjfks';
tmp:=Delete(S,2,3);
end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #3  
Старый 05.01.2009, 01:17
Kot137 Kot137 вне форума
Прохожий
 
Регистрация: 04.01.2009
Сообщения: 6
Репутация: 10
Сообщение

Реально так и есть:
Код:
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  Doc: Variant;
  txt, tmp: string;
  x: integer;
begin
    Doc:= WebBrowser1.Document;
    txt:=doc.documentElement.innerHTML;
    tmp:=txt;
    x:=0;
  while Pos('href=', tmp)>0 do
  begin
    tmp:=Delete(tmp,2,3);
    richedit1.Lines.Add(tmp);
  end;
end;
но не работает
Ответить с цитированием
  #4  
Старый 05.01.2009, 18:15
Kot137 Kot137 вне форума
Прохожий
 
Регистрация: 04.01.2009
Сообщения: 6
Репутация: 10
По умолчанию

Тут ничего не нужно добавить?
Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XMLBrokr, ComCtrls, HTTPApp, HTTPProd, CompProd, PagItems,
  MidProd, OleCtrls, SHDocVw, IWVCLBaseControl, IWBaseControl,
  IWBaseHTMLControl, IWControl, IWCompObject, ActiveX, IWCompActiveX, Grids,
  ValEdit, StrUtils, DBTables, Buttons;
Ответить с цитированием
  #5  
Старый 22.09.2010, 18:46
Аватар для Sky.NET
Sky.NET Sky.NET вне форума
Прохожий
 
Регистрация: 22.09.2010
Сообщения: 49
Версия Delphi: XE
Репутация: 12
По умолчанию

А ничего, что это процедура, а не функция?
Ответить с цитированием
  #6  
Старый 22.09.2010, 19:06
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Цитата:
Сообщение от Sky.NET
А ничего, что это процедура, а не функция?
Sky.NET прав

PHP код:
h:='skjdnvfskjvcnskdjfks';
Delete(h,2,3); 
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #7  
Старый 22.09.2010, 19:56
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

И не будет работать, ибо:
Этой процедуре уже больше 10 лет, она еще из паскаля приблудилась. И синтаксис ее использования тоже не менялся столько-же.
Первым параметром этой процедурки является переменная строкового типа, а не всякие там новомодные варианты. И потому переменная, что результат сия процедурка вернет в нее же.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 22.09.2010 в 19:58.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025