Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 22:37   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну... Депозит меня давно не любит. Гражданство ему не нравится )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.05.2012, 17:47   #12
toxich
Пользователь
 
Аватар для toxich
 
Регистрация: 09.05.2009
Сообщений: 83
По умолчанию

Специально для тебя -http://www.sendspace.com/file/ng83uw другой файлообменник))
Плиз помоги уже!))
toxich вне форума Ответить с цитированием
Старый 05.05.2012, 18:55   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Специально для тебя
Наш форум снабжен передатчиком файлов. Попрошу в следующий раз обойтись без файлосвалок. Неудобно же...

Жуткий код... ДАвно такой бяки не видел. Без обид конечно, но тебе еще учиться и учиться

Основные моменты:
1) Поля на русском поз BDE... Бр-р-р... Это ты в Фокспро можешь так изголяться, BDE от этого в рыгу может сьездить

2) Код определения полей:
Код:
procedure MyDisplay();
var i,ii: Integer;
    F: TFieldDef;
    Ln,D: String;
begin

  fldm:=TFloatField.Create(Form1);   with fldm do begin FieldName:='m';  DataSet:=Form1.Table1; end;
  fldk:=TFloatField.Create(Form1);   with fldk do begin FieldName:='k';  DataSet:=Form1.Table1; end;
  fldtr:=TFloatField.Create(Form1);  with fldtr do begin FieldName:='t';  DataSet:=Form1.Table1; end;


 fld:=TFloatField.Create(Form1);
  with fld do begin FieldName:='itogo'; Calculated:=true; DataSet:=Form1.Table1; end;

 Form1.Table1.Open;
end;
Itogo - вычисляемое поле, получающее свой результ здесь:
Код:
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
 fld.AsInteger:=fldm.AsInteger+fldk.AsInteger+fldtr.AsInteger;
end;
Смотри проект и мотай на ус - Такие вещи лучше делать через SQL. Проще
Вложения
Тип файла: rar site2.rar (334.8 Кб, 4 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2012, 09:20   #14
toxich
Пользователь
 
Аватар для toxich
 
Регистрация: 09.05.2009
Сообщений: 83
По умолчанию

Спасибо!)) Выручил капец как))
toxich вне форума Ответить с цитированием
Старый 06.05.2012, 13:40   #15
toxich
Пользователь
 
Аватар для toxich
 
Регистрация: 09.05.2009
Сообщений: 83
По умолчанию

подскажи, а как сделать чтобы можно было умножить не целое число, а число с отстанком например 3,5. у меня программа сразу сбрасывает все и вместо 3,5 вписывает целую часть - 3. Как поменять?
toxich вне форума Ответить с цитированием
Старый 06.05.2012, 13:59   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

AsInteger видишь? А теперь не поленись - почитай что это за свойство, и какие еще есть свойства приведения типа значений полей БД.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2012, 15:34   #17
toxich
Пользователь
 
Аватар для toxich
 
Регистрация: 09.05.2009
Сообщений: 83
По умолчанию

я сделал вот как
Цитата:
var
a:real;
begin
a:=Strtofloat(edit1.Text)
fld.AsInteger:=fldm.AsInteger+fldk. AsInteger+fldtr.AsInteger*a;
А вот пробывал менят за места AsInteger поставить другое свойство и не хрена не получается, там только Astring, AsFloat, AsVariant.
У меня еще проблемма в том, что даже в DBGrid не дает возможности ввести не целое чесло, само тут же переделывает из 34,5 переделывает в 34. Как сделать чтобы можно было ввести я не понимаю!
toxich вне форума Ответить с цитированием
Старый 06.05.2012, 15:42   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
там только Astring, AsFloat, AsVariant.
Ну? Вотъ какое из них нужно для вещественных?
Цитата:
само тут же переделывает из 34,5 переделывает в 34.
Еще бы...
Ты DBF чем создавал? Я вообще был в шорохе от того что тип полей в твоей исходной таблице строковый. Поэтому сменил типы на NUMERIC(20,0). Поэтому он и отсекает дробную часть. поставь скажем (10, 5) чтоб хотя бы 5 цифр было после запятой в той проге, которой ты DBF-ку создавал для каждого поля.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2012, 16:06   #19
toxich
Пользователь
 
Аватар для toxich
 
Регистрация: 09.05.2009
Сообщений: 83
По умолчанию

АААА ! все! спасибо!)))
toxich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметические операции в dbgrid kwint3r БД в Delphi 3 10.03.2012 23:07
Арифметические циклы NeoX_2011 Помощь студентам 8 20.11.2011 21:40
Арифметические и логические выражения. Стандартные функции. Сержuk Паскаль, Turbo Pascal, PascalABC.NET 1 03.10.2010 06:55
Арифметические выражения spirit0k Общие вопросы C/C++ 0 26.10.2008 18:06