Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизЭкспорт из 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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.008 c