Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

переменные...

290
08 августа 2008 года
Patr1ot
458 / / 09.02.2008
Вопрос.
В какую переменнюй можно указывать не только, числа но и символы
с буквами.

Пробовал через int невидит буквы, пробовал через AnsiString невидит буквы. Подскажите что мне делать.

К примеру код1:

int a,b;
a=StrToInt(MaskEdit1->Text);
b=1987;


К примеру код2:

AnsiString a,b;
a=StrToInt(MaskEdit1->Text);
b=4434;
247
08 августа 2008 года
wanja
1.2K / / 03.02.2003
???? и какую ошибку выдают код1 и код2??? и что такое "AnsiString невидит буквы"???
5
08 августа 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Patr1ot

К примеру код2:

AnsiString a,b;
a=StrToInt(MaskEdit1->Text);
b=4434;

Бугага :D
А вы примерно ориентируетесь в системе типов C++?

92
08 августа 2008 года
Тень Пса
2.2K / / 19.10.2006
Ы =) зачот!

PS: GIZMO, а ты был прав...
[quote=GIZMO]
Вот чемпион!
У него, что не вопрос то хит!
[/quote]
16K
08 августа 2008 года
iRain
72 / / 12.03.2008
Маладой челавек... Бывает случаи, когда я задаю глупые вопросы, но только потому что этого нет в документации, которой я пользуюсь, или я не внимательно ее читал, но вам респект атдельный за данный топеггггггг.

Внимательно изучите класс AnsiString, там все есть!
11
08 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
по теме можно?
Variant есть в VCL тип или VARIANT у мелкомягких
490
08 августа 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: Patr1ot
...но и символы с буквами.


:D

Цитата: Patr1ot
int невидит буквы


:eek: да ну на.. фиг...

Интересный вопрос - "...не видит..." :D

5
08 августа 2008 года
hardcase
4.5K / / 09.08.2005
Да ну нафиг Variant - это мегазло
290
08 августа 2008 года
Patr1ot
458 / / 09.02.2008
Да вы достали!
Я имею ввиду что к примеру, у нас на форме, расположено поле TEdit1
в которое мы записываем текст (типа пароль), после чего при нажатие на TButton1 Выполняется условие B=A, где B - истинный пароль, а А- тот который мы ввели в поле TEdit1.

Я имел ввиду что при вводе букв в поле TEdit и при установке значения для В(истинный пароль), программа 1) невыполняет условие 2) Пишет ошибку, что введите числа. Вот и все.

_______________________
И откуда такие берутся!!!
479
08 августа 2008 года
Ухух
142 / / 05.05.2006
Тема то интересная. У многих в программах есть поля которые требуют ввода пользователем, а поскольку пользователь - урод , то вводят туда все что угодно.

Как один из вариантов можно вот так написать :
Код:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop

#include "Unit1.h"
unsigned int in_val;
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try{
    in_val= (Edit1->Text).ToInt();
    }
catch(...)
{
Edit1->Text="Вводите только цифры!";
return;
}
Label1->Caption=IntToStr(in_val);
}
//-----------------------------


Это как идея. А можно то по разному делать. И по событию ввода символа смотреть и использовать компонент с маской ввода.
490
08 августа 2008 года
frid-karatel
357 / / 15.09.2007
Можно также перехватывать события ввода - OnKeyDown или onKeyPress, если char (символ, кнопка) запрещена для ввода, менять char на NULL... в итоге пользователь не сможет ввести туда "все, что попало"...

PS: Вообще, название темы, как и первый пост не отражает сути проблемы, верней, он вообще ничего не отражает... Если хочется получить ответ на вопрос, стоит конкретней, правильней и по-русски описывать суть проблемы... А то получается, что "ой, я тут тыкнул - и вылезло что-то И оно неправильное какое-то...". Куда тыкнул, что вылезло? А фиг его знает... :)
255
08 августа 2008 года
Dart Bobr
1.4K / / 09.04.2004
Цитата: Patr1ot
Да вы достали!
Я имею ввиду что к примеру, у нас на форме, расположено поле TEdit1
в которое мы записываем текст (типа пароль), после чего при нажатие на TButton1 Выполняется условие B=A, где B - истинный пароль, а А- тот который мы ввели в поле TEdit1.

Я имел ввиду что при вводе букв в поле TEdit и при установке значения для В(истинный пароль), программа 1) невыполняет условие 2) Пишет ошибку, что введите числа. Вот и все.

_______________________
И откуда такие берутся!!!



Нет, это вы достали. Возьмите ЛЮБУЮ книгу по С++ и прочтите о типах и их преобразовании.

16K
08 августа 2008 года
iRain
72 / / 12.03.2008
Отвечаю на ваш ответ... Всмысле спрашиваю ваш вопрос..., кароче не важно!!!

Если пользователь вводит всякую хню, то это не есть плохо. Во первых можно сравнивать переменные типа AnsiString:

 
Код:
AnsiString B="password";
 if (Edit1->Text == B)
 {
          func();
 }
 else func2();


Если такой вариант не нравится, то можно воспользоваться функцией strlen(char *str1, char *str2), которая сравнивает переменные типа char:

Код:
#include <string.h>

 ...

 char B="password";

 if (strlen(Edit1->Text.c_str(), B) == 0)
 {
          func();
 }
 else func2();


В случае если обе переменные равны, то функция возвращает значение 0, соответственно, если не равны, то возвращает значение отличное от нуля.

P.S.: А вообще, действительно, книги можно пачитать, там много написано интересного и полезного!!!
490
08 августа 2008 года
frid-karatel
357 / / 15.09.2007
Первое: надо читать книги
Второе: надо читать FAQ по BCB..
Третье: надо учить русский язык
Четвертое: надо пользоваться поиском
Пятое: надо читать правила - как создавать темы, как задавать вопросы, как вести себя на форуме
Шестое: есть специальная тема - Я начинающий, подскажите пожалуйста как...
288
08 августа 2008 года
nikitozz
1.2K / / 09.03.2007
 
Код:
void __fastcall TfrAddEditItem::edEdit1KeyPress(TObject *Sender,
      char &Key)
{
    if ( ((Key < '0') || (Key > '9')) && (Key != 8) )
        Key = 0;
}

Эту функцию необходимо выбрать в качестве обработчика OnKeyPress для текстового поля. Будут вводиться только цифры и Backspace
1
09 августа 2008 года
kot_
7.3K / / 20.01.2000
Тема переезжает в юмор. Автору последние китайское предупреждение.
63
09 августа 2008 года
Zorkus
2.6K / / 04.11.2006
А про уровни абстракции и логики никто не вспомнит? :)
Я не знаю BCB, поэтому обобщенно:
1) Перехватывать такие низкоуровневые события, как OnKeyDown когда пользователь ввел что-то - зачем? Лучше перехватывать событие типа contentChanged для модели компонента, в который осуществляется ввод.
2) Все что можно ограничить заранее, лучше ограничить используя маску ввода (валидатор) для компонента. Чтобы пользователь не вводил пароль из 15 произвольных символов, и нажав Еnter узнавал, что пароль должен состоять из цифр и иметь длину от 5 до 8 символов.
3
09 августа 2008 года
Green
4.8K / / 20.01.2000
Цитата: iRain

Если такой вариант не нравится, то можно воспользоваться функцией strlen(char *str1, char *str2), которая сравнивает переменные типа char:


Ты уверен, что strlen?

246
09 августа 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: Patr1ot
Вопрос.
В какую переменнюй можно указывать не только, числа но и символы
с буквами.

Пробовал через int невидит буквы, пробовал через AnsiString невидит буквы. Подскажите что мне делать.

К примеру код1:

int a,b;
a=StrToInt(MaskEdit1->Text);
b=1987;


К примеру код2:

AnsiString a,b;
a=StrToInt(MaskEdit1->Text);
b=4434;


дак ты не правильно пишешь, папробуй так:

 
Код:
b = "четыре тысячи четыреста тридцать четыре";
9
09 августа 2008 года
Lerkin
3.0K / / 25.03.2003
[QUOTE=Patr1ot]Пробовал через int невидит буквы, пробовал через AnsiString невидит буквы. Подскажите что мне делать.
[/QUOTE]
Не расстраивайтесь, мой юный друг. Не обращайте внимание на юмористов нашего форума, которые обвиняют Вас в невежестве. У Вас еще масса вариантов. Попробуйте типы:
Код:
bool
i_fool
char
unsigned char
short
unsigned short
i_stupid_idiot
long
unsigned long
float
double

Уверен, что когда Вы попробуете все типы - Вы поймете, что какой-то Вам подходит больше всего.
255
09 августа 2008 года
Dart Bobr
1.4K / / 09.04.2004
Цитата: Lerkin
Не расстраивайтесь, мой юный друг. Не обращайте внимание на юмористов нашего форума, которые обвиняют Вас в невежестве. У Вас еще масса вариантов. Попробуйте типы:
Код:
bool
i_fool
char
unsigned char
short
unsigned short
i_stupid_idiot
long
unsigned long
float
double

Уверен, что когда Вы попробуете все типы - Вы поймете, что какой-то Вам подходит больше всего.



Жжошь!! Думаю некоторые типы вполне подойдут :D

6
12 августа 2008 года
George
4.1K / / 05.01.2007
Вот такому автору что с репутацией делать - опускать за дебилизм или поднимать за то что поднимает всем настроение?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог