Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 16:46   #1
alexkgx1
 
Регистрация: 25.11.2012
Сообщений: 6
По умолчанию Как преобразовать число в строку? И решить задачу...

В общем задали мне лабу, саму лабу прикрепил к теме.
В общем задача нужно создать простейшую тестирующую программу состоящую из трёх вопросов.
И там идёт пункт:
Описать переменную k, в которой мы будем подсчитывать количество правильных ответов.
If RadioGroup1.ItemIndex=… then k:=k+1;
If RadioGroup2.ItemIndex=… then k:=k+1;

И вывести k как результат в любой подходящий компонент, не забыв его преобразовать из числа в строку.

В итоге у меня вышло вот так:
Код:
unit add;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    btn1: TBitBtn;
    rg1: TRadioGroup;
    rg2: TRadioGroup;
    rg3: TRadioGroup;
    lbl1: TLabel;
    procedure rg1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.rg1Click(Sender: TObject);
var k:integer;
begin
If rg1.ItemIndex=4 then k:=k+1;
If rg2.ItemIndex=2 then k:=k+1;
If rg3.ItemIndex=3 then k:=k+1;
lbl1.caption:=inttostr(k);
end;
end.
Мне нужно что бы выводило сообщение 'Вы ответили правильно' но как вы понимаете у меня ничего не вышло по той причине что не знаю как преобразовать из числа в строку вот этот k.

Большая просьба растолковать что да как ну в общем помогите запустить программу.

Спасибо заранее.
Вложения
Тип файла: doc лаб.раб.№4 -тест_программа.doc (35.0 Кб, 9 просмотров)

Последний раз редактировалось Stilet; 25.11.2012 в 16:53.
alexkgx1 вне форума Ответить с цитированием
Старый 25.11.2012, 17:01   #2
alexan0308
Пользователь
 
Регистрация: 22.08.2009
Сообщений: 46
По умолчанию

Код:
var sssr:string;
Код:
sssr:='Вы ответили правильно на ' + inttostr(k) + ' вопросов!'; showmessage(sssr);
alexan0308 вне форума Ответить с цитированием
Старый 25.11.2012, 17:07   #3
alexkgx1
 
Регистрация: 25.11.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от alexan0308 Посмотреть сообщение
Код:
var sssr:string;
Код:
sssr:='Вы ответили правильно на ' + inttostr(k) + ' вопросов!'; showmessage(sssr);
Ну такой вариант меня не устраивает как бы по смыслу задачи немного мне нужно что бы вывод был такой же как в примере лабы то есть через lable я пробовал такой вариант:
IF k = 3
THEN lbl1.caption:='Вы ответили правильно';
ELSE lbl1.caption:= Format('Количество правильных ответов: %d',[k]);
но он так работать тоже не хочет.
alexkgx1 вне форума Ответить с цитированием
Старый 25.11.2012, 17:13   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
lbl1.caption:="Ваша оценка - "+inttostr(k);
Типа такого?
Код:
sssr:='Вы ответили правильно на ' + inttostr(k) + ' вопросов!'; 
lbl1.caption:=sssr;
А так не?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 25.11.2012, 17:23   #5
alexkgx1
 
Регистрация: 25.11.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Код:
lbl1.caption:="Ваша оценка - "+inttostr(k);
Типа такого?
Код:
sssr:='Вы ответили правильно на ' + inttostr(k) + ' вопросов!'; 
lbl1.caption:=sssr;
А так не?
Ну вот примерно то что нужно,только родилась ещё проблем где то в
Код HTML:
If rg1.ItemIndex=4 then k:=k+1;
If rg2.ItemIndex=2 then k:=k+1;
If rg3.ItemIndex=3 then k:=k+1;
Точней он не считает кол-во правильных ответов а выдаёт результаты в совершенно не понятном порядке хотя по идеи в первом вопросе правильный ответ 4 во втором 2 а в третьем 3 но в если я так овтечаю то он мне выдает Вы ответили правильно на 0 вопросов! . Выходит так что в 1 вопросе вообще нет правильного овтета,во 2 вопросе правильный ответ 2 и в 3 вопросе правильный ответ 4. Что совершенно не то что надо.

Последний раз редактировалось alexkgx1; 25.11.2012 в 17:28.
alexkgx1 вне форума Ответить с цитированием
Старый 25.11.2012, 17:34   #6
alexan0308
Пользователь
 
Регистрация: 22.08.2009
Сообщений: 46
По умолчанию

В TRadioGroup нумерация кажись с нуля... попробуй везде отними единичку...
alexan0308 вне форума Ответить с цитированием
Старый 25.11.2012, 17:41   #7
alexkgx1
 
Регистрация: 25.11.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от alexan0308 Посмотреть сообщение
В TRadioGroup нумерация кажись с нуля... попробуй везде отними единичку...
Да всё получилось.
Спасибо. Очень благодарен всем кто принимал участие в решение моей проблемы.
alexkgx1 вне форума Ответить с цитированием
Старый 25.11.2012, 19:13   #8
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

преобразовать число в строку в Delphi:
Код:
floattostr(число); //если тип real 
inttostr(число); //если тип integer
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать строку в число hon Паскаль, Turbo Pascal, PascalABC.NET 4 10.10.2012 18:44
Как переменную преобразовать в строку? clever77 Microsoft Office Excel 10 16.05.2011 10:23
преобразовать число в строку с нулями в начале T_I_T_A_N PHP 3 13.10.2010 09:45
Число как текст преобразовать в число agregator Microsoft Office Excel 5 28.04.2010 06:08
Как преобразовать UINT в строку? Сильванович Михаил Общие вопросы C/C++ 2 12.07.2007 09:58