Зверюга Опубликовано 18 марта, 2007 Жалоба Поделиться Опубликовано 18 марта, 2007 Программа использует помошника. На этапе выполнения выдает ошибку "Параметр задан неверно"(выделенная строчка). Когда для проверки генерации использовал в оной функции не S, а inttostr(n), все шло на ура. Для справки - программа выдает совет дня. В самой первой строчке файла число, количество советов. procedure TForm1.FormCreate(Sender: TObject); var Rect: TRect; f:TextFile; s:string; i,n:integer; begin assignfile(f,'Fraz.txt'); reset(f); read(f,s); randomize(); n:=random(strtoint(s)); for i:=1 to n do read(f,s); Agent1.Connected:=True; Request:=Agent1.Characters.Load(Agent,Agentpath); Character:=Agent1.Characters.Character(Agent); Request:=Character.MoveTo(300, 300,0); Request:=Character.Show(true); WaitFor(Request); Request:=Character.Speak('Совет дня',EmptyParam); Request:=Character.Speak(S,EmptyParam); MonthCalendar1.Date:=Now(); end; Ссылка на комментарий Поделиться на другие сайты Поделиться
LomaK.XP Опубликовано 23 марта, 2007 Жалоба Поделиться Опубликовано 23 марта, 2007 Программа использует помошника. На этапе выполнения выдает ошибку "Параметр задан неверно"(выделенная строчка). Когда для проверки генерации использовал в оной функции не S, а inttostr(n), все шло на ура. Для справки - программа выдает совет дня. В самой первой строчке файла число, количество советов. procedure TForm1.FormCreate(Sender: TObject); var Rect: TRect; f:TextFile; s:string; i,n:integer; begin assignfile(f,'Fraz.txt'); reset(f); read(f,s); randomize(); n:=random(strtoint(s)); for i:=1 to n do read(f,s); Agent1.Connected:=True; Request:=Agent1.Characters.Load(Agent,Agentpath); Character:=Agent1.Characters.Character(Agent); Request:=Character.MoveTo(300, 300,0); Request:=Character.Show(true); WaitFor(Request); Request:=Character.Speak('Совет дня',EmptyParam); Request:=Character.Speak(S,EmptyParam); MonthCalendar1.Date:=Now(); end; Там в начале нам нужно не read(f,s); а readln(f,s);!!!! А вообще я бы сделал вот так: procedure TForm1.FormCreate(Sender: TObject);varTip:TStringList;s:string;{...}beginTip:=TStringList.Create;Tip.LoadFromFile('Fraz.txt');randomize;s:=Tip[Random(strtoint(Tip[0]))+1];{или}s:=Tip[Random(Tip.Count)]; {тогда и первая строка с количеством не надо}{...}Tip.Free;end; Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти