Код

Тема в разделе "Delphi - FAQ", создана пользователем -, 19 июн 2006.

Статус темы:
Закрыта.
  1. Гость

    Всем привет!
    Обращаюсь за помощью, в принципе, как и многие люди на этом формуе :)
    В общем, я в Delphi объявила запись, вот так:
    type
    auto = Record
    aspect:array[1..26] of string[20];
    run:array[1..26] of integer;
    size_motor:array[1..26] of integer;
    edition:array[1..26] of integer;
    power_motor:array[1..26] of integer;
    price:array[1..26] of integer;
    end;

    А потом в проге присвоила значения этим записям, вот так:
    begin
    auto.aspect[1]:='Renault';
    auto.run[1]:=67000;
    auto.size_motor[1]:=1700;
    auto.edition[1]:=1991;
    auto.power_motor[1]:=150;
    auto.price[1]:=2591;

    auto.aspect[2]:='Daewoo Matiz';
    auto.run[2]:=45000;
    auto.size_motor[2]:=800;
    auto.edition[2]:=2003;
    auto.power_motor[2]:=49;
    auto.price[2]:=6600;
    и т.д.
    А при компиляции такая ошибка:
    Object or class type required


    Просто не могу понять чего он ругается...
     
  2. Barmutik

    Barmutik Гость

    Судя по всему надо просто объявить сначала переменную Вашего типа .. что-то а-ля:

    Код (Text):
    var
    MyAuto: Auto;
    begin
    Myauto.aspect[1]:='Renault';
    Myauto.run[1]:=67000;
    ....
     
  3. Гость

    Спасибо! Работает пока :)
     
  4. Гость

    Что означает ComboBox1.Enabled:=True; ?

    Я прописала в коде Form1.ComboBox1.Item.Add('Avtomobile');
    А он ругается Undeclared identifier: 'ComboBox1' и ещё так Missing operator or semicolon

    И вообще, если знаете где можно почитать чего хорошего про работу с этим компонентом, напишите, плиззз...

    Вопрос, что означает Variable 'ComboBox1' might not have been initialized?
     
  5. Barmutik

    Barmutik Гость

    Судя по Вашим вопроса вы даже не потрудились полистать хотя бы одну самую захудалую книжку про программированию...

    Я думаю после прочтения оной 90% таких вот вопросов у Вас отпадёт само собой ...
     
  6. Гость

    Так, если б была хорошая литература под рукой :) а так тяжелова-то...
     
  7. Barmutik

    Barmutik Гость

    Всегда есть примеры поставляемые в комплекте ... они могут помочь в изучении таинств программирования :unsure:
     
  8. Admiral

    Admiral Гость

    ComboBox??? Да что там читать?, простой компонент!...Если уж очень не понятно...то могу помочь, хотя для начала загляни в папку DEmos в дериктории с установленной Delphi! :angry:
     
  9. Maxkht

    Maxkht Гость

    да почитай хотябы Архангельского, тама все есть!
    ComboBox1.Enabled:=True; - делает объект активным для работы, вообще стоит всегда по умолчанию.

    Form1.ComboBox1.Item.Add('Avtomobile'); - конечно будет ругаться. попробуй метод
    append('Avtomobile');-добавляет в конец списка строку
     
  10. _#_Yur@_#_

    _#_Yur@_#_ Гость

    Есть книжка Библия Делфи[pdf], наверно есть в инете. То что надо для новичка(да и не только) как Клавдия.
     
  11. Maxkht

    Maxkht Гость

  12. Alex Death

    Alex Death Гость

    Усе. опустили дэвушку. Теперь она будет боятся по форумам лазить =)
    Джентельменты ..
     
  13. Гость

    Всем привет! Это я уезжала отдыхать! А литературу хорошую нашла! И задание на практику уже сделала! Вот так! Спасибо вам за ваши письма!
     
  14. malor

    malor Active Member

    Регистрация:
    30 апр 2007
    Сообщения:
    27
    Симпатии:
    0
    Код (Text):
    procedure TForm1.bbReadXMLClick(Sender: TObject);
    var
    XMLDoc: IXMLDocument;
    Node,NodeSvc: IXMLNode;
    begin
    CoInitialize(nil);       
    XMLDoc:= IXMLDocument.Create(nil);
    XMLDoc.Active := true;
    На строку
    XMLDoc:= IXMLDocument.Create(nil);
    ругается :
    [Error] uMyXML.pas(47): Object or class type required
    В чем проблема?

    Delphi 7, WinXP_sp2
     
  15. malor

    malor Active Member

    Регистрация:
    30 апр 2007
    Сообщения:
    27
    Симпатии:
    0
    Перевод ПРОМТ-a: 'Объект или требуемый тип класса'. Не сильно проясняет!

    Может сменить объяву вместо XMLDoc: IXMLDocument; сделав XMLDoc: TXMLDocument;?
    При таком раскладе будет такая проблема:
    Код (Text):
    procedure TForm1.bbReadXMLClick(Sender: TObject);
    var
    XMLDoc: IXMLDocument;
    Node,NodeSvc: IXMLNode;
    i,j,l:Integer;
    begin
    CoInitialize(nil);
    XMLDoc:= TXMLDocument.Create(nil);
    XMLDoc.LoadFromFile(ExtractFilePath(Application.ExeName)+'otvet3.xml');
    XMLDoc.Active := true;
    l:=Node.ChildNodes.Count-1;
    Node := XMLDoc.DocumentElement.ChildNodes[0];
    На строку l:=Node.ChildNodes.Count-1; выдает :
    Access violation at address 00466CBD in module 'MyXML.exe'. Read of address 00000000.

    XML-файл:
    Код (Text):
    <?xml version="1.0" encoding="windows-1251"?>
    <Provs_Lst>
    <Prov id="1">
    <name>Поставщик_1</name>
    <Prov_Svcs>
    <Svc id="1">
    <Svc_Name>Вид_оплаты_1</Svc_Name>
    <min_amount>1000</min_amount>
    </Svc>
    <Svc id="2">
    <Svc_Name>Вид_оплаты_2</Svc_Name>
    <min_amount>5000</min_amount>
    </Svc>
    </Prov_Svcs>
    </Prov>
    <Prov id="5">

    </Prov>
    </Provs_Lst>
    Как быть?
     
  16. DIR3ct0r

    DIR3ct0r Гость

    Код (Text):
     XMLDoc.Active := true;
    l:=Node.ChildNodes.Count-1;
    Node := XMLDoc.DocumentElement.ChildNodes[0];
    тут наверняка перепутаны местами строки....поэтому и exception, обращение к методу несуществующего объекта...
    наверное должно быть
    Код (Text):
     XMLDoc.Active := true;
    Node := XMLDoc.DocumentElement.ChildNodes[0];
    if Assigned(Node) then
    for i:= 0 to Node.ChildNodes.Count-1 do
     
  17. Volkogriz

    Volkogriz Гость

    ЛЮДИ ПРИВЕТ !!! :)
    Хачу написать устоновку в Delphi !!!
    Сколько пробовал не работает!!!
    помогите!!! :)
     
  18. zubr

    zubr Гость

    1. Юноша, создай отдельную тему. Вроде не трудно.
    2. Как же мы можем помочь, если не понятно, что ты делаешь в своей программе установки. Тут телепатов с экстрасенсами нет, всего лишь программисты. :)
     
  19. tEtRiS

    tEtRiS Гость

    Есть два варианта решения:
    1. XMLDoc:= TXMLDocument.Create(nil) as IXMLDocument;
    2. XMLDoc := NewXMLDocument;

    Во втором случае док создается не пустой, а содержит информацию о версии XML, типа <?xml version="1.0"?>.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей