Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

Помогите в написании программы, плиз!   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
1-1099907665
Kot Vaska
2004-11-08 12:54
2004.11.21
Загрузка тестового файла


1-1098785216
DmiSb
2004-10-26 14:06
2004.11.21
Как убрать колинтитулы при печати из TWebBrowsera ?


1-1099987537
TUser
2004-11-09 11:05
2004.11.21
dcu -> exe


4-1097476689
DelphiN!
2004-10-11 10:38
2004.11.21
Свернуть все окна


1-1100095941
Wish
2004-11-10 17:12
2004.11.21
О веб-страничке





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