Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.012 c
15-1226736425
DevilDevil
2008-11-15 11:07
2009.01.11
LoadLibrary возвращает 0. Из-за чего ?


2-1227880896
olegIvan
2008-11-28 17:01
2009.01.11
TreeView


4-1204156605
MikeZ
2008-02-28 02:56
2009.01.11
Запуск приложения из-под сервиса


15-1226137710
DillerXX
2008-11-08 12:48
2009.01.11
Поговорим о катающихся железных шариках?


15-1226340487
monogandhi
2008-11-10 21:08
2009.01.11
Массивы и ReadFile





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский