Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
ВнизКонсольное приложение, пытаюсь создать объект TString Найти похожие ветки
← →
oracled © (2008-11-28 12:42) [0]В консольном приложении пытаюсь создать объект TString для того, чтобы манипулировать многострочными частями, но почему-то не получается.
Делаю такprogram Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
Forms,
Dialogs,
StdCtrls,
Controls;
var
st:TString;
begin
st:= TString.Create(nil);
end.
Проблема в строке st:TString;
Пишет ошибку Undeclared identifier
Может быть компонент не подключил в Uses ?
Однако взял все компоненты из успешного консольного поекта где работает объект Tmemo, а в нём ведь фигурирует и TString
Подскажите в чём может быть загвоздка?
← →
Palladin © (2008-11-28 12:43) [1]и что же такое TString ? откуда ты про него узнал? или сам выдумал?
← →
Сергей М. © (2008-11-28 12:44) [2]Нет такого компонента.
Есть класс объекта, и зовется он не TString, а TStrings
И создавать следует не TStrings-объект, а TStringList-объект.
← →
oracled © (2008-11-28 12:45) [3]ошибочка вышла, конечно же TStrings :)
Однако всё равно пишет Undeclared identifier TStrings
← →
oracled © (2008-11-28 12:47) [4]Сергей М.
О как!
А не подскажешь где можно почитать об этом? Может есть какая инфа на примете.
А то везде только о визуальном использовании компонентов...
← →
oracled © (2008-11-28 12:49) [5]Сделал так:
var
st:TStringList;
begin
...
Всё-равно пишет ошибку, блин, недопонимаю чего-то
← →
Palladin © (2008-11-28 12:49) [6]TStringList + F1
там написано какой модуль
← →
oracled © (2008-11-28 12:50) [7]Palladin
Спасибо!
← →
Palladin © (2008-11-28 12:52) [8]что за неприязнь такая к кнопке F1 ? там очень много интересного написано
← →
oracled © (2008-11-28 12:53) [9]Ура, заработало :) оказывается нужен был модуль Classes
Ведь в принципе можно создать и объект от класса TStrings
просто будет меньше функционала, т.к. TStringList наследует TStrings ?
← →
Palladin © (2008-11-28 12:53) [10]в том числе и почему не нужно использовать TStrings
← →
oracled © (2008-11-28 12:54) [11]Palladin
да я вообще об этой функции не знал, теперь, разумеется буду активно использовать.
Просто раньше с дельфи не сталкивался, всё на php и т.п. сидел, а тут задача за задачей валится, да и самому уже интересно :)
← →
Сергей М. © (2008-11-28 12:56) [12]
> об этой функции не знал
О какой такой "функции" ?
← →
Сергей М. © (2008-11-28 13:03) [13]
> оказывается нужен был модуль Classes
.. и, что самое удивительное, "консольность" или "неконсольность" приложения не имеет к этому ни малейшего отношения)
← →
oracled © (2008-11-28 13:23) [14]Сергей М
О функциональности вызова справки если встать на метод и т.п
Ну, если обычное приложение, то просто накидываем компоненты, и модули сами прописываются ,и свойства все на виду, т.е. визуально всё происходит, как-то не серьёзно :)
А так уже видно что сам всем рулишь процессом
← →
Ega23 © (2008-11-28 13:25) [15]
> Ведь в принципе можно создать и объект от класса TStrings
> просто будет меньше функционала, т.к. TStringList наследует
> TStrings ?
TStrings - абстрактный класс. У него масса абстактных методов, которые перекрываются в потомках. А сделан он для удобства приведения.
На мой взгляд, это недостаток delphi - возможность создания экземпляра абстрактного класса. В каком-нибудь c++ такое компилятор не пропустил бы. Delphi тебе только warning выдаст.
Хотя, с другой стороны, у готовой программы не должно быть варнингов... :)
← →
oracled © (2008-11-28 13:32) [16]Ega23
Вот как оно всё! буду знать, спасибо :)
← →
qqq (2008-11-28 14:03) [17]
> TStrings - абстрактный класс. У него масса абстактных методов,
первое - неверно
второе - верно
но из второго первое не следует
← →
Ega23 © (2008-11-28 14:20) [18]
> первое - неверно
It depends, как говорят наши вероятные противники.
Смотря что считать абстрактным классом. В Delphi, насколько мне известно, такое понятие отсутствует в принципе (т.к. можно создать экземпляр любого класса). Но с точки зрения ООП, абстрактным классом является тот, у которого есть хотя бы один абстрактный метод. Либо свой, либо не перекрытый от предков.
← →
Anatoly Podgoretsky © (2008-11-28 17:02) [19]> Ega23 (28.11.2008 14:20:18) [18]
По определению слова Аbstract это что то несуществующее, голая абстракция, кроме как для шаблонов не пригодно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c