Текущий архив: 2004.11.21;
Скачать: CL | DM;
ВнизПомогите в написании программы, плиз! Найти похожие ветки
← →
Topepo © (2004-10-31 12:41) [0]Мне 14 лет, я устроился в рабочую фирму по программированию для подростков, мне надо написать одну программу на Дэлфи. В ней я новичоки кое-чего могу недопонимать. программа эта тестовая оболочка для учащихся (типа просто тесты). я запоролся в кажись бы простом месте но никак не могу преодолеть этот запор. В моей программе тесты записаны в отдельный текстовый файл. Как мне сделать, чтобы программа, считывая вопросы, останавливалась на символе, допустим, "\".У меня написано:
procedure TForm1.Button1Click(Sender: TObject);
. Но оно не хотит нифига делать! Подскажите, ПОЖАЛУЙСТА, как мне быть?
var
fname:string;
buf:string;
s:string[255];
i:integer;
begin
i:=0;
fname:="12345.txt";
assignfile(f,fname);
reset(f);
repeat
readln(f,s);
if s[i] <> "\"
then buf:=buf+s+" ";
until s[i] <> "\";
closefile(f);
form1.Memo1.Lines.Add(buf);
end;
← →
ILIHA (2004-10-31 12:56) [1]А причем тут базы данных "Иль я чет не понимаю"
← →
Topepo © (2004-10-31 13:01) [2]При том, что Базой Данных, как бы "12345.txt", является БД вопросов в отдельном файле тестов
← →
jack128 © (2004-10-31 13:10) [3]где меняется значение i ?? и почему ты пишешь s[i] , где i = 0. В нулевом байте короткой строки храниться ДЛИНА строоки, а ты зачем то сравниваешь её с символом.
Этот символ "\" может встретиться в любом месте строки?? (типа разделитель вопроса и ответа) Ну например так:
var
s: string;
f: TextFle;
DelimiterPos: Integer;
...
AssignFile(f, "12345.txt");
reset(f);
try
while not EOF(f) do
begin
ReadLn(f, s);
DelimiterPos := Pos("\", s);
if DelimiterPos > 0 then
s := copy(s, 1, DelimiterPos - 1);
Memo1.Lines.Add(s);
end;
finally // не забываем обработчики ошибок вставлять..
CloseFile(f);
end;
Topepo © (31.10.04 13:01) [2]
является БД вопросов -) Тогда любой файл является БД ;-)
← →
Topepo © (2004-10-31 13:16) [4]2jack128 ©, большое спасибо! Насчёт БД вопросов. В этом файле хранятся данные, так? место, где что-то хранится,может называцца Базой. Вот и получается БД. Да и вообще))). мне ж 14 лет, вот и думай на каком я уровне знай в Дэлфе=)
← →
Nous Mellon © (2004-10-31 13:39) [5]
> Но оно не хотит нифига делать! Подскажите, ПОЖАЛУЙСТА, как
> мне быть?
Не хотит и не надо :)
← →
мазер (2004-10-31 14:10) [6]Удалено модератором
Примечание: Offtopic
← →
VMcL © (2004-10-31 14:50) [7]>>Topepo © (31.10.04 12:41)
>я запоролся в кажись бы простом месте но никак не могу преодолеть этот запор
Ты не на тот форум запостил. Тебе бы в медицинский, наверное, или в фармацевтический.
← →
Topepo © (2004-10-31 15:53) [8]VMcL © (31.10.04 14:50) [7]
Ты не на тот форум запостил. Тебе бы в медицинский, наверное, или в фармацевтический.
Не. Там я уже был. Ничё хорошего не подсказали=)))
← →
Marser © (2004-10-31 16:42) [9]Удалено модератором
← →
Knight © (2004-10-31 17:21) [10]Делаешь текстовый файл в который пишешь
вопрос/ко-во ответов/ответ1/ответ2/.../ответN/номер правильного ответа/следующий вопрос/....
Пишешь:
func NextField:String; // читает по разделителям.
proc QuestionOut;
begin
Inc(QCount);
QMemo.Text:=NextField;
n:=StrToInt(NextField);
RadioGroup.Items.Clear;
for i:=0 to n-1 do RadioGroup.Items.Append(NextField);
end;
Открываешь файл при старте теста
QCount:=0;
QuestionOut;
после ответа
if RadioGroup.ItemIndex=NextField then Inc(RightAnwers)
QuestionOut;
и т.д.
← →
Knight © (2004-10-31 17:36) [11]
> после ответа
> if RadioGroup.ItemIndex=NextField then Inc(RightAnwers)
> QuestionOut;
> и т.д.
Поправиться пока никто не заметил... :)
if RadioGroup.ItemIndex=StrToInt(NextField) then Inc(RightAnwers)...
или
if RadioGroup.ItemIndex=StrToInt(NextField)-1 then Inc(RightAnwers)...
если номер правильного ответа соотнести не с RadioGroup, а с реальной нумерацией вариантов [1,2... etc.]
← →
Topepo © (2004-11-01 09:04) [12]Knight ©, пасиба за всё, но можно поинтересовацца? я маленько ламер в Дэлфи, так что не обессудь. Что такое QCount? И ваще, как написанный тобою код работает? принципы его работы объясни, плиз, а то я нифига не понял
← →
NeyroSpace © (2004-11-01 09:34) [13]>Topepo ©
LOL
Я в 14 лет игру на Ассемблере писал, так что 14 лет это уже достаточно для того, чтобы соображалка заработала.
RTFM! Что в переводе значит Рид Зе Ф#$%кин Мэнуал до полного просветления!
← →
Danilka © (2004-11-01 09:41) [14]Ну че, опять пацана маненького зачмырили, пальцы веером, какие усе крутые? :))
[12] Topepo © (01.11.04 09:04)
Вот здесь:
http://www.podgoretsky.com/ddp.html
есть: "Delphi 5. Руководство разработчика, том 1" и "Delphi 5. Руководство разработчика, том 2", скачай из и изучай на здоровье. Очень понятным, даже для новичков, все расписано. Одна из лучших книг по Дельфи.
← →
Topepo © (2004-11-01 09:59) [15]Danilka © (01.11.04 09:41) [14]
биг фенкс ту ю!
NeyroSpace © (01.11.04 09:34) [13]
> RTFM! Что в переводе значит Рид Зе Ф#$%кин Мэнуал до полного
> просветления!
Я ентих мануалоф прочитал до фига, ни в одном из них ничего путнего нету.Щас осталась последняя надежда - http://www.podgoretsky.com
← →
Knight © (2004-11-01 20:07) [16]
> [12] Topepo © (01.11.04 09:04)
> Knight ©, пасиба за всё, но можно поинтересовацца? я маленько
> ламер в Дэлфи, так что не обессудь. Что такое QCount? И
> ваще, как написанный тобою код работает? принципы его работы
> объясни, плиз, а то я нифига не понял
QCount - это переменная для подсчёта общего количества вопросов
RightAnwers - это сколько было верных ответов...
И вообще, это не код, а только набросок... так сказать, общая идея... всё остальное, ты должен дописать сам :)
Страницы: 1 вся ветка
Текущий архив: 2004.11.21;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.05 c