Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись в нужном формате 
:(
    Опции темы
dize
Дата 26.8.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Для записи в файл использую
Код

procedure TStop_order.Button2Click(Sender: TObject);
var
m:Tstringlist;
i:integer;
begin
  m:=Tstringlist.create;
  ADOQ_emitent.close;
  ADOQ_emitent.sql.clear;
  ADOQ_emitent.sql.add('select * from Stop_zayavki');
  ADOQ_emitent.open;
  ADOQ_emitent.first;
  for i:=1 to ADOQ_emitent.recordcount do
   begin
   m.add('ACTION='+ADOQ_emitent.fieldvalues['action'] + '; TRANS_ID=' + ADOQ_emitent.FieldByName('id_trans').AsString + '; STOPPRICE=' + ADOQ_emitent.Fieldbyname('stop_cena').AsString + '; PRICE=' + ADOQ_emitent.Fieldbyname('Cena_ispoln').AsString + ';');
   ADOQ_emitent.next;
   end;
 m.savetofile('trans.tri');
 m.free;
end;


Проблема в том, что когда доходит дело до полей stop_cena и Cena_ispoln, у которых тип double, вылезает ошибка "Could not convert variant of type(string) into type(double)". Как это можно обойти?
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
dize
Дата 26.8.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Заодно тут же спрошу..как при помощи этой же процедуры дозаписывать, а не перезаписывать в файл.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Данкинг
Дата 26.8.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(dize @  26.8.2009,  23:22 Найти цитируемый пост)
Заодно тут же спрошу..как при помощи этой же процедуры дозаписывать, а не перезаписывать в файл. 

В созданный stringlist сначала грузить из существующего файла, а потом уже гонять цикл по таблице, добавляя строчки.

Цитата(dize @  26.8.2009,  22:00 Найти цитируемый пост)
Как это можно обойти? 

Попробуй так, только проследи, не обрезается ли дробная часть:
Код
m.add('ACTION='+ADOQ_emitent.fieldvalues['action'] + '; TRANS_ID=' + ADOQ_emitent.FieldByName('id_trans').AsString + '; STOPPRICE=' + vartostr(ADOQ_emitent.Fieldvalues['stop_cena']) + '; PRICE=' + vartostr(ADOQ_emitent.Fieldvalues['Cena_ispoln']) + ';');


Это сообщение отредактировал(а) Данкинг - 26.8.2009, 22:31


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
dize
Дата 26.8.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Цитата(Данкинг @  26.8.2009,  22:30 Найти цитируемый пост)
Попробуй так, только проследи, не обрезается ли дробная часть

Та же самая ошибка выходит.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Данкинг
Дата 26.8.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Ты текст ошибки правильно написал?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
dize
Дата 26.8.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Да, правильно, ошибки одинаковые.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Romikgy
Дата 26.8.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(dize @  26.8.2009,  20:00 Найти цитируемый пост)
 "Could not convert variant of type(string) into type(double)"

в данном куске кода данное преобразование не производиться...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Akella
Дата 26.8.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(Romikgy @  26.8.2009,  23:13 Найти цитируемый пост)
в данном куске кода данное преобразование не производиться... 

 smile ггг, не могу конвертировать вариантный тип (строкИ) в вещественный тип

Добавлено @ 23:25
Попробуй
Код

.... VarToStr(ADOQ_emitent.Fieldbyname('stop_cena').AsString) ...


А ещё почитай про NullStrictConvert

Это сообщение отредактировал(а) Akella - 26.8.2009, 23:26
PM MAIL   Вверх
dize
Дата 27.8.2009, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Akella, и так не выходит, та же ошибка.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
CodeMonkey
Дата 27.8.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Контрольный вопрос: если закомментировать строчку с m.add(, то работает или нет?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
dize
Дата 27.8.2009, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



CodeMonkey, Если ты подразумеваешь, недает ли ошибок, то нет, конечно не дает.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Данкинг
Дата 27.8.2009, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Romikgy @  27.8.2009,  00:13 Найти цитируемый пост)
в данном куске кода данное преобразование не производиться... 

Вот правильно же. Откуда ошибке-то взяться?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 27.8.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(dize @  27.8.2009,  04:42 Найти цитируемый пост)
Akella, и так не выходит, та же ошибка. 

покажи теперешний код

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.