Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 217
от 06.10.2006, 12:05

Администратор:CJ
В рассылке:Подписчиков: 263, Экспертов: 36
В номере:Вопросов: 2, Ответов: 4


Вопрос № 57214: Здравствуйте! При отладке ниже приведёного кода выходит ошибка: Ошибка синтаксиса(пропущен оператор) в выражении запроса 'STAVKA*'40000'/36 SUMMA' ..
Вопрос № 57299: Скажите пожалуйста как сохранить переменную в файл и как загрузить потом эту переменную...

Вопрос № 57.214
Здравствуйте!
При отладке ниже приведёного кода выходит ошибка:
Ошибка синтаксиса(пропущен оператор) в выражении запроса 'STAVKA*'40000'/36 SUMMA'

Приложение:

Отправлен: 30.09.2006, 12:25
Вопрос задал: KuchumHan (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, KuchumHan!
1. У Вас после "/36" и перед "SUMMA" пропущена запятая, если "SUMMA" это поле таблицы. Если же словом "SUMMA" Вы хотите обозначить столбец, в котором вычисляете выражение, то необходимо написать "AS Summa".
2. В строчке где запрос у Вас закомментирован Вы совершенно зря ставите расширение ".MDB". Дело в том, что файл с расширением ".MDB" это база данных, которая может содержать несколько таблиц, а запрсы проводятся исключительно к таблицам, а не к базам данных.
3. Там где Вы подставляете значения из Edit1.Text, могут быть лишние пробелы, которые могут совершенно исказить смысл выражения, поэтому лучше всего ведущие и концевые пробелы убирать функцией Trim().
4. Просто пожелание. Пишите большими буквами только операторы SQL, а названия таблиц и названия полей пишите маленькими буквами, тогда Ваше выражение будет более удобно читать и таким образом Вы сразу будете видеть синтаксическую ошибку в построенном Вами выражении.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 30.09.2006, 14:55
Оценка за ответ: 5


Вопрос № 57.299
Скажите пожалуйста как сохранить переменную в файл и как загрузить потом эту переменную
Отправлен: 01.10.2006, 09:43
Вопрос задал: W@NDeReR (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, W@NDeReR!
Переменная - это лично Вами обозванная область памяти. Ее сохранить нельзя. Сохранить можно содержимое этой переменной.
Var
a: Integer; {Это Ваша переменная}
f: TextFile; {Это Ваш файл, куда сохраняем значение переменной. Он текстовый, чтобы можно было посмотреть, правильно ли сохранение произошло :) }
Begin
a:=5; {Значение переменной}
AssignFile(f, 'Файл.txt'); {Определяем имя файла}
Rewrite(f); {Открываем файл для записи}
Write(f, a); {Записываем значение переменной в файл}
CloseFile(f); {Закрываем файл. После этого можно смотреть его в текстовом редакторе}
Reset(f); {Открываем файл для чтения}
Read(f, a); {Считываем значение из файла обратно в переменную}
CloseFile(f); {Закрываем файл}
End;
Если надо сохранять в текстовый файл из нескольких переменных, то отделять их друг от друга пробелами, табуляцией или переносом строки. В него можно сохранять разнотипные переменные. Если же файл не текстовый, то в него можно сохранять только однотипные переменные и без разделителей.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 01.10.2006, 11:28

Отвечает: 3лоумышленник





uses

  IniFiles;

//.......................................................................................


//Загрузка переменной

procedure TForm1.Button1Click(Sender: TObject);

var

  ini: TIniFile;

  intVal: Integer;


begin

  ini := TIniFile.Create('conf.ini');

  try

    intVal := ini.ReadInteger(Name,'intVal',0);

    Edit1.Text := IntToStr(intVal);

  finally

    ini.Free;

  end;

end;

//------------------------------------------------------------------------------



//Сохранение переменной

procedure TForm1.Button2Click(Sender: TObject);

var

  ini: TIniFile;

  intVal: Integer;


begin

  ini := TIniFile.Create('conf.ini');

  try

    intVal := StrToInt(Edit1.Text);

    ini.WriteInteger(Name,'intVal',intVal);

  finally

    ini.Free;

  end;

end;





---------
"Люди неизбежно умирают", A. Schwarzenegger (Terminator 3: Rise of the Machines)
Ответ отправил: 3лоумышленник (статус: Студент)
Ответ отправлен: 01.10.2006, 12:26

Отвечает: din
Здравствуйте, W@NDeReR!
Вообще-то для такого рода задачи используют ini-файл или реестр. В приложении код, который показывает как это сделать. Подключите юнит IniFiles (Секция Uses).
Если собираетесь использовать этот файл в течении работы программы, объявляете переменную в разделе Var юнита и инициализируете переменную при запуске программы. А дальше все просто.
Удачи!

Приложение:

---------
Есть только одно зло - невежество, и только одно благо - знания

Ответ отправил: din (статус: Практикант)
Ответ отправлен: 01.10.2006, 12:37


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное