Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];

Вниз

Как внести рассчитанное значение?...   Найти похожие ветки 

 
Владий   (2003-07-23 16:00) [0]

Значение одного из полей должно расчитываться, а вот с записание его - проблемы...
самый логичный (с моей непосвещенной точки зрения) вариант
DBEdit1.Text := P;
не подходит... текст-то показывается, но вот только при выборе поля он пропадает...

PS. Данные из базы получаю через ADOTable...


 
alex_bredin   (2003-07-23 16:12) [1]

н-да,точка зрения действительно...

конкретнее, пожалуйста,что должно рассчитываться и как, и стоит ли это хранить в таблице вообще, или можно получить из других полей


 
sniknik   (2003-07-23 16:41) [2]

Владий (23.07.03 16:00)
если сохраняеш чего нибудь то сохраняй в базу/таблицу а не визуальный компонент
> текст-то показывается, но вот только при выборе поля он пропадает...
изменяеш Text = TMaskedText
показывается маска.

так примерно
ADOTable.Edit;
ADOTable.FieldByName(DBEdit1.DataField).AsString:= P;
ADOTable.Post;


 
Владий   (2003-07-23 17:53) [3]

Пишу более подробно... Сейчас ковырялся - пришлость получать данные из 2-х связанных таблиц, поэтому воспользовался ADOQuery

запрос: select * from companies, payments, firm
where (companies.Comp_name = payments.Comp_name)
and (payments.Firm_name = firm.Firm_name)

При внесении численной суммы она должна перегоняться в словесное выражение, делается так:

procedure TForm1.PSumEnter(Sender: TObject);
var
sum : Double;
s : String;
Cop, Rub, Pwr : Integer;
P : PChar;
begin
Cop := 4;
Rub := 2;
Pwr := 2;

P := nil;


try try
sum := PSum.Value;
GetMem(P, 1000);
num_to_rub(sum, Cop, Rub, Pwr, P);
ADOQuery1.Edit;
ADOQuery1.FieldByName(DBEdit1.DataField).AsString:= P;
ADOQuery1.Post;

except
on EConvertError do begin
Application.MessageBox("Точно число?", "Ошибка", IDOK);
end
end
finally
( P) Пишу более подробно... Сейчас ковырялся - пришлость получать данные из 2-х связанных таблиц, поэтому воспользовался ADOQuery

запрос: select * from companies, payments, firm
where (companies.Comp_name = payments.Comp_name)
and (payments.Firm_name = firm.Firm_name)

При внесении численной суммы она должна перегоняться в словесное выражение, делается так:

procedure TForm1.PSumEnter(Sender: TObject);
var
sum : Double;
s : String;
Cop, Rub, Pwr : Integer;
P : PChar;
begin
Cop := 4;
Rub := 2;
Pwr := 2;

P := nil;


try try
sum := PSum.Value;
GetMem(P, 1000);
num_to_rub(sum, Cop, Rub, Pwr, P);
ADOQuery1.Edit;
ADOQuery1.FieldByName(DBEdit1.DataField).AsString:= P;
ADOQuery1.Post;

except
on EConvertError do begin
Application.MessageBox("Точно число?", "Ошибка", IDOK);
end
end
finally
FreeMem(P);
end

end;

НО: Теперь ругается на "DataSet not in edit or insert mode".
И где его сменить?...

Хорошей Удачи!
Владий // ICQ: 47659886



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.002 c
14-58440
Shluz
2003-08-02 00:05
2003.08.18
Хороший программист родился или стал??


14-58436
Иван Михалев
2003-08-03 00:31
2003.08.18
Вопрос по HTML


14-58461
supersan
2003-07-21 17:33
2003.08.18
Проблема с IBTable.Locate


14-58385
Maks Realov
2003-08-04 15:33
2003.08.18
Размещение памяти под массив указателей.


14-58451
bug008
2003-07-31 21:57
2003.08.18
работа с MS Word и Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский