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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2014, 19:43   #1
Wutang
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 13
Сообщение расчет стипендии в Delphi 7

помогите пожалуйста наужно считать данные с БД и из ходя их этих данных расчитать стипедию если отценка отлично то к стипендии прибавляеться 30% если хорошо то 20% и если удавлетварительно то стипендия отсаеться стандартная не знаю как сделать
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    Edit1: TEdit;
    procedure Edit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
var
 s,a:string;
begin
datasource1.DataSet:=ADOQuery1;
if trim(Edit1.Text)='' then
  begin
   adoquery1.SQL.Clear;
   adoquery1.SQL.Append('Select *');
   adoquery1.SQL.Append('From Òàáëèöà1');
   ADOQuery1.SQL.Append('order by  Ôàìèëèÿ;');
   ADOQuery1.Open;
   exit;
  end;
 s:='Where';
 s:=s+'(Ôàìèëèÿ like '+quotedstr('%'+Edit1.text+'%')+') or';
 if copy(s,length(s)-1,2)='or' then s:=copy(s,0,length(s)-2);
  adoquery1.SQL.Clear;
  adoquery1.SQL.Append('Select *');
   adoquery1.SQL.Append('From Òàáëèöà1');
if trim(Edit1.Text)<>'' then
  adoquery1.SQL.Append(s);
 ADOQuery1.SQL.Append('order by Ôàìèëèÿ;');
  ADOQuery1.Open;
  ADOQuery1.Active:=true;

end;

end.
вот весь код что есть вывел данные и сделал поиск по фамилии что и как нужно дописать что бы расчитывал. могу скрины предоставить если нужно

Последний раз редактировалось Stilet; 05.01.2014 в 19:52.
Wutang вне форума Ответить с цитированием
Старый 05.01.2014, 19:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
   adoquery1.SQL.Append('Select *');
   adoquery1.SQL.Append('case [оценка]');
   adoquery1.SQL.Append(   when 5 then [степуха]+([степуха]/3)');
   adoquery1.SQL.Append(   when 4 then [степуха]+([степуха]/5)');
   adoquery1.SQL.Append(   else [степуха]');
   adoquery1.SQL.Append(  end;');

   adoquery1.SQL.Append('From Òàáëèöà1');
   ADOQuery1.SQL.Append('order by  Ôàìèëèÿ;');
   ADOQuery1.Open;
Идея понятна?
I'm learning to live...

Последний раз редактировалось Stilet; 05.01.2014 в 19:59.
Stilet вне форума Ответить с цитированием
Старый 05.01.2014, 20:16   #3
Wutang
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 13
По умолчанию

даа вполне, спасибо большое выручили
Wutang вне форума Ответить с цитированием
Старый 05.01.2014, 20:21   #4
Wutang
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
   adoquery1.SQL.Append('Select *');
   adoquery1.SQL.Append('case [оценка]');
   adoquery1.SQL.Append(   when 5 then [степуха]+([степуха]/3)');
   adoquery1.SQL.Append(   when 4 then [степуха]+([степуха]/5)');
   adoquery1.SQL.Append(   else [степуха]');
   adoquery1.SQL.Append(  end;');

   adoquery1.SQL.Append('From Òàáëèöà1');
   ADOQuery1.SQL.Append('order by  Ôàìèëèÿ;');
   ADOQuery1.Open;
Идея понятна?
вот только я попробовал вставить поправил слегка только он у меня на When ругаеться не проходит
Wutang вне форума Ответить с цитированием
Старый 05.01.2014, 20:28   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

так кривое вот и ругается
eval вне форума Ответить с цитированием
Старый 05.01.2014, 20:38   #6
Wutang
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 13
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
так кривое вот и ругается
а что там поправить нужн мб подскажете?а то горит программа уже все разобраться сам не могу
Wutang вне форума Ответить с цитированием
Старый 05.01.2014, 20:48   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
только он у меня на When ругаеться не проходит
Еще бы )
Бездумное копирование кода приводит к ректальному истощению чакры.
Ты бы изучил текст ошибки повнимательнее тогда бы все прояснилось.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.01.2014, 20:56   #8
Wutang
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Еще бы )
Бездумное копирование кода приводит к ректальному истощению чакры.
Ты бы изучил текст ошибки повнимательнее тогда бы все прояснилось.
вот как выглядит сама программа,а сам код я пробовал менял на Edit ругался после изменений
Изображения
Тип файла: jpg Безымянный.jpg (51.2 Кб, 123 просмотров)
Wutang вне форума Ответить с цитированием
Старый 05.01.2014, 21:15   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты вот что, давай бросай программирование. Не твое это.
Код:
   adoquery1.SQL.Append('Select *,');
   adoquery1.SQL.Append('case [отценка]');
   adoquery1.SQL.Append(   when 'отлично' then [сумма]+([сумма]/3)');
   adoquery1.SQL.Append(   when 'хорошо then [сумма]+([сумма]/5)');
   adoquery1.SQL.Append(   else [сумма]');
   adoquery1.SQL.Append(  end');
...
Если это опять даст тебе "ругаеться не проходит" то забудь и купи у препода ответ.
I'm learning to live...

Последний раз редактировалось Stilet; 05.01.2014 в 22:03.
Stilet вне форума Ответить с цитированием
Старый 05.01.2014, 21:33   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Блин, точку с запятой точно не уберет после end
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет механизма (Delphi) AuToDreY Помощь студентам 3 19.12.2011 22:55
Программа вычисления размера стипендии bufalo C# (си шарп) 1 21.09.2011 20:34
Подсчитать размер стипендии (VBA Excel) Valerya 22 Microsoft Office Excel 9 30.05.2011 20:23
Не дайте умереть без стипендии:) DimaKa Помощь студентам 0 06.05.2009 16:39