Код

  • Автор темы -
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Гость
#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


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

Barmutik

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

Код:
var
MyAuto: Auto;
begin
Myauto.aspect[1]:='Renault';
Myauto.run[1]:=67000;
....
 

Гость
#4
Что означает ComboBox1.Enabled:=True; ?

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

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

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

Barmutik

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

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

Гость
#6
Так, если б была хорошая литература под рукой :) а так тяжелова-то...
 
B

Barmutik

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

Admiral

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

Maxkht

Гость
#9
Что означает ComboBox1.Enabled:=True; ?

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

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

Вопрос, что означает Variable 'ComboBox1' might not have been initialized?
да почитай хотябы Архангельского, тама все есть!
ComboBox1.Enabled:=True; - делает объект активным для работы, вообще стоит всегда по умолчанию.

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

_#_Yur@_#_

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

Alex Death

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

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

malor

Active Member
30.04.2007
27
0
#14
Код:
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
 

malor

Active Member
30.04.2007
27
0
#15
Перевод ПРОМТ-a: 'Объект или требуемый тип класса'. Не сильно проясняет!

Может сменить объяву вместо XMLDoc: IXMLDocument; сделав XMLDoc: TXMLDocument;?
При таком раскладе будет такая проблема:
Код:
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-файл:
Код:
<?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>
Как быть?
 
D

DIR3ct0r

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

Volkogriz

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

zubr

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

tEtRiS

Гость
#19
На строку
XMLDoc:= IXMLDocument.Create(nil);
ругается :
[Error] uMyXML.pas(47): Object or class type required
В чем проблема?
Есть два варианта решения:
1. XMLDoc:= TXMLDocument.Create(nil) as IXMLDocument;
2. XMLDoc := NewXMLDocument;

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