Понедельник, 06 Мая 2024, 02:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Delphi:Вопрос-Ответ (Спросил - получил ответ)
Delphi:Вопрос-Ответ
sk0rpi0nДата: Понедельник, 12 Декабря 2011, 18:52 | Сообщение # 101
Tiberium
Сейчас нет на сайте
Quote
конкретная переменная на конкретном Item'е

Quote
Так вот : как можно тексту из списка combo.box

Думаю, именно это ему и надо.




Adventures of the Purple Ball - готов.
Wanderer - готов.
TimKruzДата: Понедельник, 12 Декабря 2011, 19:07 | Сообщение # 102
старожил
Сейчас нет на сайте
arys,
Quote
combobox1.Items[номер_строки_из_выпадающего_списка]:='строка';
//Например:
Code
ComboBox1.Items[0]:='Привет, мир!';
ComboBox1.Items[3]:='Это третья строка';
ComboBox1.Items[2]:=SomeString;
ComboBox1.Items[6]:=IntToStr(SomeValue);

Переменная Items объекта TComboBox - типа TStrings, т.е. представляет собой список строк. Чтобы обратиться к конкретной строке, нужно указать её индекс. Нумерация начинается с нуля.
Quote (masb8ly-GC)
S := cbb1.Items[cbb1.ItemIndex];

masb8ly-GC, у тебя в переменную s перейдёт значение поля, выбранного пользователем, а ему нужно наоборот. huh




Сообщение отредактировал TimKruz - Понедельник, 12 Декабря 2011, 19:08
masb8ly-GCДата: Понедельник, 12 Декабря 2011, 19:42 | Сообщение # 103
постоянный участник
Сейчас нет на сайте
Quote (TimKruz)
masb8ly-GC, у тебя в переменную s перейдёт значение поля, выбранного пользователем, а ему нужно наоборот.

Уже понял)
Просто не понял сразу, что нужно, хотя перевернуть мой код не очень сложно)


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
arysДата: Понедельник, 12 Декабря 2011, 21:10 | Сообщение # 104
почетный гость
Сейчас нет на сайте
masb8ly-GC,
Quote
Или тебе нужно, чтобы висела конкретная переменная на конкретном Item'е?

Ага...

Добавлено (12.12.2011, 21:10)
---------------------------------------------
Ах да а тип у переменной какой будет? Всем спасибо!


500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Понедельник, 12 Декабря 2011, 21:22 | Сообщение # 105
постоянный участник
Сейчас нет на сайте
Тип данных? Стринг же.

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
arysДата: Понедельник, 12 Декабря 2011, 21:30 | Сообщение # 106
почетный гость
Сейчас нет на сайте
masb8ly-GC,
procedure TForm1.ComboBox1Change(Sender: TObject);
var
s:string;
begin
s:=combobox1.items[combobox1.Item1];
end;

end.

[Error] Unit1.pas(32): Undeclared identifier: 'Item1'
Quote
Стринг же

он мне до этого ошибку выдовал, типа тип и s:=combobox1.items[combobox1.Item1]; не катит....(((((((((((


500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Понедельник, 12 Декабря 2011, 22:05 | Сообщение # 107
постоянный участник
Сейчас нет на сайте
Напиши конкретно, что требуется шаг за шагом. Просто ItemIndex указывает на выбранный элемент! Тебе нужно присвоить переменной значение выбранного элемента на данный момент или тебе нужно просто присвоить значение первого элемента? Если да, то возможно так: s:=cbb1.Items[0];
Ноль потому, что нумерация в комбо боксе начинается с нуля, а не с одного!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
arysДата: Понедельник, 12 Декабря 2011, 22:27 | Сообщение # 108
почетный гость
Сейчас нет на сайте
Так есть ссb, label1 и кнопка в ссб несколько итемов, надо что бы можно было выбрать что то из списка ссб а потом нажав на кнопку увидеть то что выбрал из списка на лэйбле.

Добавлено (12.12.2011, 22:27)
---------------------------------------------
masb8ly-GC,
Большое спасибо чувак!!! разобрался))+


500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Понедельник, 12 Декабря 2011, 22:35 | Сообщение # 109
постоянный участник
Сейчас нет на сайте
Не за что) Если, что обращайся!)

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
arysДата: Вторник, 13 Декабря 2011, 15:35 | Сообщение # 110
почетный гость
Сейчас нет на сайте
Это опять я))
Так... а как узнать что он(пользователь) выбрал из списка????????


500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Вторник, 13 Декабря 2011, 23:09 | Сообщение # 111
постоянный участник
Сейчас нет на сайте
Тебе нужно куда, то вывести, что он выбрал или поставить какое-то условие? Тоесть допустим, если он выбрал блоху, то совершать определенные действия! Если так, то:
Code
if (s='Блоха') then


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games


Сообщение отредактировал masb8ly-GC - Вторник, 13 Декабря 2011, 23:13
arysДата: Вторник, 13 Декабря 2011, 23:15 | Сообщение # 112
почетный гость
Сейчас нет на сайте
Возьми ещё одну const q = 0; b1:=q; XD

500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Вторник, 13 Декабря 2011, 23:18 | Сообщение # 113
постоянный участник
Сейчас нет на сайте
Спасибо уже разобрался, просто в скобки взял)
Теперь другая проблема, после того как я его вывел из Имя игрока, но потом передумал и опять изменил на Имя игрока, то кнопка всеравно активна, хотя в коде вроде все правильно:
Code
procedure TForm1.edt11Change(Sender: TObject);
begin
    if not (edt1.Text='Имя игрока') then btn1.Enabled:=True
    else
    if (edt1.Text='Имя игрока') then btn1.Enabled:=False;
end;


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games


Сообщение отредактировал masb8ly-GC - Вторник, 13 Декабря 2011, 23:19
arysДата: Вторник, 13 Декабря 2011, 23:24 | Сообщение # 114
почетный гость
Сейчас нет на сайте
Попробуй поменять местами с начало фалс а потом тру

500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Вторник, 13 Декабря 2011, 23:31 | Сообщение # 115
постоянный участник
Сейчас нет на сайте
Тоже самое(
Кнопка по умолчанию не активна, первый раз становится активной, но во второй раз не деактивируется!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
TimKruzДата: Вторник, 13 Декабря 2011, 23:35 | Сообщение # 116
старожил
Сейчас нет на сайте
masb8ly-GC, попробуй так:
Code
procedure TForm1.edt11Change(Sender: TObject);
begin
    btn1.Enabled:=True;
    if edt1.Text='Имя игрока' then btn1.Enabled:=False;
end;

Зачем ты делаешь две проверки? Если в if условие не верно, то после else оно по-любому будет противоположным.
***
Или можно так:
Code
procedure TForm1.edt11Change(Sender: TObject);
begin
    if edt1.Text='Имя игрока' then btn1.Enabled:=False else btn1.Enabled:=True;
end;




Сообщение отредактировал TimKruz - Вторник, 13 Декабря 2011, 23:36
arysДата: Вторник, 13 Декабря 2011, 23:37 | Сообщение # 117
почетный гость
Сейчас нет на сайте
Одноразовая прога))

Добавлено (13.12.2011, 23:37)
---------------------------------------------
Эээ

Code
procedure TForm1.Button1Click(Sender: TObject);

begin
s:='a';
if (a='Блоха') then
label1.Caption:=s;

end;

Он мне не выводит не лабел s в чем проблема????


500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Вторник, 13 Декабря 2011, 23:41 | Сообщение # 118
постоянный участник
Сейчас нет на сайте
Тебе же нужно присвоить "s" значение переменной "a". А ты присваиваешь значение символа.

Добавлено (13.12.2011, 23:41)
---------------------------------------------
TimKruz, Благодарю все заработало! Просто на выходных олимпиада областная(участвую сразу в двух областных по программированию: соло и командное), и вот решил подогнать немного Object)


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
arysДата: Вторник, 13 Декабря 2011, 23:43 | Сообщение # 119
почетный гость
Сейчас нет на сайте
Не понял.. вроде же все нормально s:='kakoe nit slovo' если чувак выбирает из списка "Блоха" то на лабле должно появится слово "kakoe nit slovo"

500 символов не хватит, а писать начало... нету смысла без конца..
masb8ly-GCДата: Вторник, 13 Декабря 2011, 23:48 | Сообщение # 120
постоянный участник
Сейчас нет на сайте
Тогда так:
Code

procedure TForm1.Button1Click(Sender: TObject);    

    begin    
    s:='a';
    l := cbb1.Items[cbb1.ItemIndex];
    if (l:='Блоха') then    
    label1.Caption:=s;    

end;


Добавлено (13.12.2011, 23:48)
---------------------------------------------
Немного поправил код, там неправильно l присвоил!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games


Сообщение отредактировал masb8ly-GC - Вторник, 13 Декабря 2011, 23:49
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Delphi:Вопрос-Ответ (Спросил - получил ответ)
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг