Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.006 c
15-1202479970
ketmar
2008-02-08 17:12
2008.03.16
чудные каменты…


15-1202210278
data
2008-02-05 14:17
2008.03.16
Кто подскажет по доступу к сайту (хостингу)?


2-1202729073
Vayrus
2008-02-11 14:24
2008.03.16
FastFileCopy


15-1202286490
Fredy314
2008-02-06 11:28
2008.03.16
Балансирование трафика


2-1202649076
ChaosAD
2008-02-10 16:11
2008.03.16
Разница между Датами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский