Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Экспорт из Delphi 7 в xml   Найти похожие ветки 

 
Student00 ©   (2008-02-03 22:27) [0]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IniFiles, StdCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   RadioGroup1: TRadioGroup;
   procedure RadioGroup1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 IniFile1: TIniFile;
 path: string;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
path:=ExtractFilePath(Application.ExeName);
IniFile1:=TIniFile.Create(path+"answers.ini");
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
IniFile1.WriteString("name","Q",inttostr(RadioGroup1.ItemIndex));
end;
end.


Думаю понятно что он делает.

Ребят, помогите, пожалуйста сделать тожесамое но уже с xml файлом. Т.е. записать результаты события RadioGroup1Click не в answers.ini, а в answers.xml


 
palva ©   (2008-02-03 22:46) [1]

По-разному можно. Можно использовать TXMLDocument, а можно писать в файл текстовым выводом. Вы как собираетесь делать?


 
Черный Шаман   (2008-02-04 00:30) [2]


> palva ©   (03.02.08 22:46) [1]
>
> По-разному можно. Можно использовать TXMLDocument, а можно
> писать в файл текстовым выводом. Вы как собираетесь делать?


Он глючный, хотя для лабы сойдет.


 
Student00 ©   (2008-02-04 18:57) [3]

Ситуация немного изменилась- xml также не подходит.
Решил делать ado + Аксесс

Есть таблицы:

Vopros(id_vopros, vopros)
otvet(id_otvet, id_vopros, otvet)

Они связаны.

Есть компонент TDBLookupListBox в котором отображается список вопросов из таблицы Vopros.
Пользователь совершает событие onClick по одной из строк ЛистБокса (строка=вопрос).
Каждый вопрос имеет несколько вариантов ответов (как в тесте), которые содержаться в таблице  otvet.
Есть компонент TDBRadioGroup, куда и выводятся ответы на соответствующий вопрос, где каждая радиокнопка - вариант ответа.

Т.к. изначально мы не задаем фиксированное количество радиокнопок, то т.о. они должны добавляться динамически, черпая информацию о количестве кнопок, в БД--> otvet

Как реализовать это обращение к БД и последующее динамическое добавление я не знаю.

Поэтому прощу, пожалуйста, знающих людей помочь!!!

----
ПС.
Мои догадки.
Вероятно надо, во-первых, определить количество вариантов ответов по текущему вопросу.
Потом добавить их в виде радиокнопок.

Предполагаю, что нужен цикл:
for i:=0 to ??? do
begin
DBRadioGroup1.Items.Add(???);
end;

Там, где вопросы я не знаю что и как туда писать.


 
clickmaker ©   (2008-02-04 19:07) [4]


> я не знаю что и как туда писать.

то есть как - что? в первый - количество ответов-1, а в Add - сами ответы
или трудности выполнить select count(*) from otvet where id_vopros = :id_vopros ?


 
clickmaker ©   (2008-02-04 19:13) [5]

впрочем, цикл по i там и не нужен
берем
ADODataSet - 1 шт.
RadioGroup - 1 шт.
в ADODataSet  - CommandText := "select otvet from otvet where id_vopros = :id_vopros";
ADODataSet.Parameters.ParamByName - записываем ID текущего ответа
потом открывает ДатаСет и в цикле while not Eof заполняем RadioGroup


 
Student00 ©   (2008-02-04 19:26) [6]


> ADODataSet.Parameters.ParamByName - записываем ID текущего
> ответа
> потом открывает ДатаСет и в цикле while not Eof заполняем
> RadioGroup

Не совсем понял два последних пункта:
Что за ID? где его брать?
Ну и цикл - можно пожалуйста, подробнее?


 
Черный Шаман   (2008-02-04 19:43) [7]


> Student00 ©   (04.02.08 19:26) [6]
>
>
> > ADODataSet.Parameters.ParamByName - записываем ID текущего
> > ответа
> > потом открывает ДатаСет и в цикле while not Eof заполняем
> > RadioGroup
>
> Не совсем понял два последних пункта:
> Что за ID? где его брать?
> Ну и цикл - можно пожалуйста, подробнее?


Прочитай букварь по БД хоть до третьей нормальной формы.

http://www.bashedu.ru/konkurs/bakirov/aug/Baza.htm


 
Student00 ©   (2008-02-04 19:53) [8]

Теорию я более или менее знаю.
А с программированием - проблемы - это надо с нуля изучать ВСЕ чтоб отлично понимать.
А долг висит...


 
Student00 ©   (2008-02-04 20:03) [9]

Я чего не пойму
ADODataSet.Parameters.ParamByName надо в коде прописывать или в ObIn чего-то менять.
Если первое то на какое событие?
Если второе, то в редакторе есть кнопка добавления Add New
Можно добавить сколько угодно пунктов и вобщем не пойму надо или нет как их называть...


 
Черный Шаман   (2008-02-04 20:04) [10]


> Student00 ©   (04.02.08 19:53) [8]
>
> Теорию я более или менее знаю.
> А с программированием - проблемы - это надо с нуля изучать
> ВСЕ чтоб отлично понимать.
> А долг висит...


50$? Так как тебе придется создать в базе две таблицы, связать их по вторичному ключу и не забыть добавить первичные, написать параметризированный sql запрос и затем вытащить данные из dataset, правильно их обрабатывая.


 
Kerk ©   (2008-02-04 20:05) [11]

Твои слова о знании теории, всвязи с твоим не знанием теории БД, выглядят не состоятельно


 
Kerk ©   (2008-02-04 20:06) [12]

Твои слова о знании теории, всвязи с твоим не знанием теории БД, выглядят не состоятельно


 
Student00 ©   (2008-02-04 20:27) [13]

Да ладно троечку получил по ней и норм ))

Ну помогите, плиз))

Я чего не пойму
ADODataSet.Parameters.ParamByName надо в коде прописывать или в ObIn чего-то менять.
Если первое то на какое событие?
Если второе, то в редакторе есть кнопка добавления Add New
Можно добавить сколько угодно пунктов и вобщем не пойму надо или нет как их называть...


 
ketmar ©   (2008-02-04 21:00) [14]

>[13] Student00©(04.02.08 20:27)
>Да ладно троечку получил по ней и норм ))

вот и пиши со своей «троечкой». лентяям не подаём.


 
Student00 ©   (2008-02-04 21:02) [15]

Прописал следующее
procedure TForm1.DBLookupListBox1Click(Sender: TObject);
begin
ADODataSet1.Parameters.ParamByName("id_otvet");

while ADODataSet1.Eof<>true do
begin
DBRadioGroup1.Items.Add("select otvet from otvet where id_vopros = :id_vopros");
end;
end;


Вроде бы программа запускается, но когда совершаю указанное событие вылетает ошибка, что Параметр id_otvet" not found


 
Student00 ©   (2008-02-04 21:03) [16]

Я вообще то экономист и юрист а не программист.


 
Черный Шаман   (2008-02-04 21:09) [17]


> Student00 ©   (04.02.08 21:03) [16]
>
> Я вообще то экономист и юрист а не программист.


Ну и просчитай что тебе выгоднее самому бред писать или заплатить и сдать качественный продукт?


 
ketmar ©   (2008-02-04 21:10) [18]

>[16] Student00©(04.02.08 21:03)
тогда найми программиста и не занимайся любовью с нашими мозгами. ГСМ неизлечимо.


 
Student00 ©   (2008-02-04 21:13) [19]

Спасибо за помощь! Классный форум - особенно дизайн прямо тащусь. (((
Прощайте.


 
ketmar ©   (2008-02-04 21:15) [20]

абиженое кисо нас покинуло. сдаётся мне, господа, что форум без него умрёт.


 
Черный Шаман   (2008-02-04 21:23) [21]


> Student00 ©   (04.02.08 21:13) [19]
>
> Спасибо за помощь! Классный форум - особенно дизайн прямо
> тащусь. (((


Это форум Мастеров Delphi, а не Хакеров/Ламеров Delphi :)


 
ketmar ©   (2008-02-04 21:28) [22]

>[21] Черный Шаман (04.02.08 21:23)
э-э-э. это ж экономист был. пришёл в надежде, что тут забесплатно всё порегают, и экономия будет. а мы, быдло такое, не захотели. абидели экономиста. он теперь сидит и считает «недополученую прибыль».


 
clickmaker ©   (2008-02-05 11:05) [23]


> DBRadioGroup1.Items.Add("select otvet from otvet where id_vopros
> = :id_vopros");

о, еще один шедевр для орешника )



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.012 c
15-1202255039
guard_gg
2008-02-06 02:43
2008.03.16
Microsoft Yahoo


2-1203018290
WebSQLNeederr
2008-02-14 22:44
2008.03.16
Заменить кусок текста из мемо на свой текст


3-1193207531
Aladdinych
2007-10-24 10:32
2008.03.16
Table busy


15-1202189806
tButton
2008-02-05 08:36
2008.03.16
длительный процесс (риторический вопрос)


4-1184719046
Cj
2007-07-18 04:37
2008.03.16
CommandLine...in ReadProcessMemory???