Форум: "Начинающим";
Текущий архив: 2013.09.29;
Скачать: [xml.tar.bz2];
Внизсохранение из TStringList в переменную типа string Найти похожие ветки
← →
McLotos © (2013-01-14 21:02) [0]В предыдущей теме (http://delphimaster.net/view/2-1358163221/), в которой меня любезно послали по известному адресу был представлен код, после нескольких попыток разобраться в чем все-же проблема я пришел к выводу что всё дело именно в типе TStringList
Чтобы было понятнее откуда такие сложности поясню некоторые моменты на примере
var
Account : TStringList;
begin
Account := TStringList.Create;
//записываем полученный текст
Account.CommaText := Socket.ReceiveText;
//выводим на экран чтобы было видно что всё на месте
log.Lines.Add (Account.Values["Login"] + " + " + Account.Values["Password"]);
Теперь собственно вопрос
Как сохранить эти данные в отдельные переменные?Login:=Account.Values["Login"];
ничего не дало, переменная Login почему-то оказалась пустой.
На одном американском форуме видел вариантLogin:=Account.Text;
но я так думаю это на случай если мне нужно сохранить всё в одну переменную, а мне это никак не надо.
← →
Игорь Шевченко © (2013-01-14 21:04) [1]
> ничего не дало, переменная Login почему-то оказалась пустой.
потому что в списке нет строки с текстом Login=что-то
← →
Медвежонок Пятачок © (2013-01-14 21:10) [2]ничего не дало, переменная Login почему-то оказалась пустой.
Наоборот все дало.
Было бы странным, если бы в переменную что-то записалось кроме пустой строки, в то время как в Account.Values["Login"] - пустота.
← →
McLotos © (2013-01-14 21:29) [3]нет, Account.Values["Login"] выводит значение
а вот
Login:string;
Login:=Account.Values["Login"];
ShowMessage(Login);
показывает дырку от бублика!
Хотя это очень и очень странно.
← →
Медвежонок Пятачок © (2013-01-14 21:31) [4]У тебя галюцинации.
← →
Медвежонок Пятачок © (2013-01-14 21:32) [5]либо где то есть
function Login : string;
begin
result := "";
end;
← →
Ega23 © (2013-01-14 22:05) [6]
> либо где то есть
Тогда бы к ней нельзя было значение приравнять
← →
Медвежонок Пятачок © (2013-01-14 22:06) [7]Есть переменная и есть функция.
Присваивается одному, а шоумессадж делается другому.
Либо его глючит.
← →
Плохиш © (2013-01-14 23:35) [8]
> в которой меня любезно послали по известному адресу
Ты всё-таки сходи по тому адресу. Тебя туда не просто так послали.
← →
Германн © (2013-01-15 01:52) [9]
> Ega23 © (14.01.13 22:05) [6]
>
>
> > либо где то есть
>
>
> Тогда бы к ней нельзя было значение приравнять
Про область видимости не забывай, если уж так требовал от автора признания "его ли это код или нет?". :)
← →
MBo © (2013-01-15 07:52) [10]>пришел к выводу что всё дело именно в типе TStringList
проверим:
var
Account : TStringList;
Login: string;
begin
Account := TStringList.Create;
Account.CommaText := "Login=Vasya Password=Pupkin";
Login := Account.Values["Login"];
Caption := Login;
Account.Free;
Вижу вывод "Vasya", и прихожу к выводу, что вряд ли дело в типе TStringList...
← →
sniknik © (2013-01-15 08:07) [11]> пришел к выводу что всё дело именно в типе TStringList
противоречит -
> if (Account.Values["Login"]<>"") and (Account.Values["Password"]<>"") // вытягиваем оттуда нужные данные
> //а затем радостно нам сообщает что в базе есть 1 такой пользователь
из прошлого вопроса. если она что то "сообщала", даже 0, значит проблема не пустых переменных.
← →
O'ShinW © (2013-01-15 08:46) [12]
> Socket.ReceiveText;
а не посылает ли пустоту сокет в перерыве м/д проверками?
← →
O'ShinW © (2013-01-15 08:47) [13]т.е. это в одном месте все,
или в одном ловим, в другом проверяем?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.09.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c