Страница 1 из 1
Как сравнить стринговую переменную с пустым значением?
Добавлено: 03 июн 2005, 10:27
edd
ааа:string
Почему-то не прокатывает ни
if aaa<>''
ни
if aaa<>' '
ни
if aaa>' '
С двумя последними может выйти некорректно, что естественно.
Как сравнить со значением пустого поля,типа, если не пусто, то...? Может есть какая-нибудь подходящая для этого функция? Или просто сравнивать с символом, имеющим самое минимальное значение в кодовой таблице?
И, счет-субсчет - это же стринг?
Добавлено: 03 июн 2005, 11:04
Max_Fin
копайте код, не здесь ошибка, сравнение описано верно.
Добавлено: 03 июн 2005, 11:38
edd
Max_Fin писал(а):копайте код, не здесь ошибка, сравнение описано верно.
Он не выполняет в этом простом условии ничего, стоящее в {}. условие не равно True (
В коде негде копать, все так же просто, как описано тобой.
А может быть так, что в переменной, когда она пустая, закрался пробел и она уже не считается пустой?
Добавлено: 03 июн 2005, 11:54
Max_Fin
Если бы не существовало проверки на пустую строку добрая половина Галатики не работала бы.
Добавлено: 03 июн 2005, 11:56
Max_Fin
edd писал(а):
Он не выполняет в этом простом условии ничего, стоящее в {}. условие не равно True
Если условие не равно True, то туда и не надо заходить
Добавлено: 03 июн 2005, 12:02
edd
Max_Fin писал(а):edd писал(а):
Он не выполняет в этом простом условии ничего, стоящее в {}. условие не равно True
Если условие не равно True, то туда и не надо заходить
Я тоже посмеялся ) Но месседж дает пустое значение, а в проверке стоит if aaa=''
{
.....
}
и условие не выполняется
Добавлено: 03 июн 2005, 13:08
Max_Fin
Это случаем не в форме делаешь, если да, то код покажь
Добавлено: 03 июн 2005, 13:20
DarkAngel27
Попробуй сделать следующее:
Код: Выделить всё
var aaa:string; // объяви как глобальную переменную. Если она определяется в table, то и обращайся к ней как к table.aaa (лучше и использовать внутри только этой таблицы)
.begin
aaa := '';
if aaa <> '' then
{
Message('Не равно');
} else Message('равно');
end.
Добавлено: 03 июн 2005, 14:20
edd
Max_Fin писал(а):Это случаем не в форме делаешь, если да, то код покажь
пожлате
Код: Выделить всё
.....
.{table 'имя_вью.временная_таблица'
Sal_f:=временная_tmp.edd_c7p4
.....
if (sal_f='')=true then
{
Itog_SalD:=0.00;
Itog_SalC:=0.00;
Itog_SalD2:=0.00;
Itog_SalC2:=0.00;
.....
message(Sal_F) //дает пусто, даже если в переменной пустота
}
else
{
Itog_SalD:=временная_табл.edd_c7p8
Itog_SalC:=временная_табл.edd_c7p9
}
.....
.}
Добавлено: 03 июн 2005, 14:30
Max_Fin
edd писал(а):
Код: Выделить всё
.....
if (sal_f='')=true then
{
.....
message(Sal_F) //дает пусто, даже если в переменной пустота
}
.....
.}
ну дык, а что вы хотели в Sal_F пустая строка, что там еще выводить
если бы написано было бы что-то вроде этого, то имеет смысл что-нить выводить на экран.
Код: Выделить всё
.....
if (sal_f<>'') then
{
.....
message(Sal_F);
}
.....
.}
или так
Код: Выделить всё
.....
if (sal_f='') then
{
.....
//message(Sal_F);//выводить НЕЧЕГО!
}
else
{
.......
message(Sal_F);
.......
}
.....
.}
Добавлено: 03 июн 2005, 14:35
edd
Max_Fin писал(а):edd писал(а):
Код: Выделить всё
.....
if (sal_f='')=true then
{
.....
message(Sal_F) //дает пусто, даже если в переменной пустота
}
.....
.}
ну дык, а что вы хотели в Sal_F пустая строка, что там еще выводить
если бы написано было бы что-то вроде этого, то имеет смысл что-нить выводить на экран.
Код: Выделить всё
.....
if (sal_f<>'') then
{
.....
message(Sal_F);
}
.....
.}
сорри
не sal_f='', а if sal_f<>'', просто код уже поменял и не заметил.
Добавлено: 03 июн 2005, 15:27
DarkAngel27
А если сделать сообщение так:
И сравнить две строки. Может быть в переменной пробелы стоят.
Код: Выделить всё
.....
if (sal_f='')=true then
{
.....
message(Sal_F) //дает пусто, даже если в переменной пустота
}
.....
А (= true) зачем нужно
Попробуй его убрать...
Добавлено: 03 июн 2005, 15:53
edd
Может быть в переменной пробелы стоят.
стоят....буду использовать trim()
А (= true) зачем нужно
Попробуй его убрать...
Я его как раз поставил. Раньше не было.
Добавлено: 03 июн 2005, 17:08
Max_Fin
До всех условий запишите значение вашей переменной в лог