1. deadspacex05.07.2024 в 07:20от
Загрузка...
Загрузка...

Delphi Support

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем MDK, 25.07.2013.

  1. Slеnder

    Slеnder

    Статус:
    Оффлайн
    Регистрация:
    24.11.12
    Сообщения:
    1.519
    Репутация:
    883 +/-
    [​IMG]
    собсно как вернуть прежний вид верхней панели до дефолтного?
     
  2. MishaRed

    MishaRed

    Статус:
    Оффлайн
    Регистрация:
    02.06.13
    Сообщения:
    450
    Репутация:
    142 +/-
    [​IMG]
     
  3. gids47

    gids47

    Статус:
    Оффлайн
    Регистрация:
    29.07.13
    Сообщения:
    26
    Репутация:
    15 +/-
    Доброво всем дня, вечера, утра и ночи)))
    Я на верное не в тему, но я хз куда уже писать и где уже искать.
    Надеюсь на вашу помошь в решении сего вапроса)
    Никогда не думал что буду писать что то на делфе, но всё бывает в первый раз))
    [​IMG]
    Ах да, вот мая проблема:
    Пишу прогу для студов в sql, ну чтоб преподу было проще проверять и оценивать их)

    И вот что я Хочу, чтоб на новой форме вместо Edit'ов(1 и 2)
    При нажатие на Кнопки ("ок") вылезало новая форма и там проверялся запрос). У меня получается тока 1 ячейка таблицы заполняется.


    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, ADODB;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button2: TButton;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure kn_provclick(Sender: TObject);
    private
    { Private declarations }
    lab_vopr:Tlabel;
    me_otv:Tmemo;
    kn_prov:Tbutton;
    lab_orf:Tlabel;
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}
    const kvovopr_in_var=5;
    var ADOCon: TADOConnection;
    var stydz:string;
    ds:TADODataset;
    dss:TADODataset;
    kods:array[1.. kvovopr_in_var]of longint;


    { ???????????????
    label1.Caption:=(FindComponent('lab_n_2') as Tlabel).caption;
    ??????????????????}

    procedure new_sql(var ds:TADODataset;strsql:string);
    begin
    ds.Connection:=ADOCon;
    ds.CommandText:=strsql;
    ds.Open;
    end;

    function orf_1(nomvopr:byte):boolean ;
    begin
    stydz:= (form1.FindComponent('otv_n_' + inttostr(nomvopr)) as Tmemo).Text;
    //ds.CommandText:=(form1.FindComponent('orf_n_' + inttostr(nomvopr)) as Tedit).Text;
    try
    new_sql(ds,stydz);

    (form1.FindComponent('orf_' + inttostr(nomvopr))as Tlabel).Caption:='УРА!' ;
    orf_1:=true
    except
    (form1.FindComponent('orf_' + inttostr(nomvopr))as Tlabel).Caption:='МИМО!' ;
    orf_1:=false ;

    end;
    ds.Close
    end;
    //Начало! Смысла
    procedure smisl(kodvopr:integer);
    var admz:string;
    begin
    //ds:= TADODataSet.Create(Self);
    new_sql(ds,'SELECT [ответ] FROM Таблица1 where [кодвопр]=' + inttostr(kodvopr) + ';');
    admz:=ds.Fields[0].Value;
    ds.Close;

    new_sql(ds,stydz + ';');
    //Создать таблицу, из ДС для проверки
    dss:=ds;
    form1.Edit3.Text:=ds.Fields[0].Value;
    ds.Close;

    new_sql(ds,admz + ';');
    //Создать таблицу, из ДС1
    form1.Edit2.Text:=dss.Fields[0].Value;


    ds.Close;
    dss.Close;
    end;


    procedure TForm1.kn_provclick(Sender: TObject);
    var kn_name,zapr:string; nomvopr,kodvopr:byte;
    begin
    // ShowMessage('Нажата '+(Sender as TButton).Name);
    kn_name:=(Sender as TButton).Name;
    Delete(kn_name, 1, 5);
    nomvopr:=strtoint(kn_name);
    kodvopr:=kods[nomvopr];
    if orf_1(nomvopr) then
    smisl(kodvopr);
    //
    end;


    procedure create_vopr(n:byte);
    begin
    form1.lab_vopr:= Tlabel.Create(form1);
    form1.me_otv:= Tmemo.Create(form1);
    form1.kn_prov:= Tbutton.Create(form1);
    form1.lab_orf:= Tlabel.Create(form1);
    with form1.lab_vopr do begin
    name:='vopr_n_' + inttostr(n);
    left:=20;
    top:=100+(n-1)*90;
    autosize:=true;
    constraints.MinWidth:=250;
    wordwrap:=true;
    caption:=ds.Fields[0].Value;
    transparent:=false;
    color:=clYellow;
    parent:=form1;
    end;
    with form1.me_otv do begin
    name:='otv_n_' + inttostr(n);
    left:=280;
    top:=form1.lab_vopr.top;
    height:=40;
    width:=250;
    text:='';
    parent:=form1;
    end;
    with form1.kn_prov do begin
    name:='kn_n_' + inttostr(n);
    left:=550;
    top:=form1.lab_vopr.top;
    height:=40;
    width:=40;
    caption:='ok';
    parent:=form1;
    onclick:=form1.kn_provclick;
    end;
    ///
    with form1.lab_orf do begin
    name:='orf_' + inttostr(n);
    left:=650;
    top:=100+(n-1)*90;
    autosize:=true;
    constraints.MinWidth:=250;
    wordwrap:=true;
    transparent:=false;
    color:=clYellow;
    caption:='ok';
    parent:=form1;
    end;
    ///

    end;




    procedure TForm1.Button1Click(Sender: TObject);
    var i:byte;
    begin
    ds:= TADODataSet.Create(Self);
    new_sql(ds,'SELECT [кодв1],[кодв2],[кодв3],[кодв4],[кодв5] FROM Таблица2 where [№вар]=' + Edit1.text + ';');
    for i:=1 to kvovopr_in_var do kods:= ds.Fields[i-1].Value;
    ds.Close;
    for i:=1 to kvovopr_in_var do begin
    new_sql(ds,'SELECT [вопрос] FROM Таблица1 where [кодвопр]=' + inttostr(kods) + ';');
    create_vopr(i);
    ds.Close;
    end;
    end;

    //удаление!


    procedure TForm1.FormActivate(Sender: TObject);
    var put, s:string;
    begin
    put:= GetCurrentDir +'\our_db.accdb';
    s:= 'Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source='
    +put+';Jet OLEDB:Database Password="";';
    ADOCon:=TADOConnection.Create(nil);
    ADOCon.ConnectionString:=s;
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    ADOCon.Destroy;
    end;

    end.



    Зарание СПАСИБО)))
    + не обижу)
     
  4. KenTrey

    KenTrey

    Статус:
    Оффлайн
    Регистрация:
    12.06.14
    Сообщения:
    4
    Репутация:
    0 +/-
    Объясняю суть. Есть программа... Если быть точным - это расписание поездов, к этому расписанию сделана карта. Сделано условие при котором считывается системное время и при совпадении этого времени с заданным, на карте показывалась точка. Собственно проблема заключается в следующем... Приведу пример: Запускаю карту ->Считывается сист.время -> Считывается отрезок времени (пускай это с 13.15 до 13.45) и если в этот промежуток , есть какой либо поезд, то выводилось сообщение , пускай даже в то же мемо. Как реализовать этот самый промежуток времени и на него наложить событие.
     
  5. Подарок

    Подарок

    Статус:
    Оффлайн
    Регистрация:
    27.07.12
    Сообщения:
    1.443
    Репутация:
    357 +/-
    Промежуток сравнивай, больше-меньше ну или циклом пройтись.
     
  6. KenTrey

    KenTrey

    Статус:
    Оффлайн
    Регистрация:
    12.06.14
    Сообщения:
    4
    Репутация:
    0 +/-
    Так в этом и проблема. Как мне этот промежуток записать в коде.
     
  7. Подарок

    Подарок

    Статус:
    Оффлайн
    Регистрация:
    27.07.12
    Сообщения:
    1.443
    Репутация:
    357 +/-
    Я тебе сказал, сравнивай по принципу больше-меньше. А в коде пиши кодом.
     
  8. Dr.Nefario

    Dr.Nefario

    Статус:
    Оффлайн
    Регистрация:
    26.10.12
    Сообщения:
    359
    Репутация:
    145 +/-
    Народ, подскажите, как произвести процесс авторизации с помощью GET запроса (Synapse).
     
  9. K4SPER

    K4SPER

    Статус:
    Оффлайн
    Регистрация:
    05.04.13
    Сообщения:
    87
    Репутация:
    71 +/-
    .
     
  10. Dr.Nefario

    Dr.Nefario

    Статус:
    Оффлайн
    Регистрация:
    26.10.12
    Сообщения:
    359
    Репутация:
    145 +/-
     
    Последнее редактирование: 16.07.2014
  11. K4SPER

    K4SPER

    Статус:
    Оффлайн
    Регистрация:
    05.04.13
    Сообщения:
    87
    Репутация:
    71 +/-
     
  12. Dr.Nefario

    Dr.Nefario

    Статус:
    Оффлайн
    Регистрация:
    26.10.12
    Сообщения:
    359
    Репутация:
    145 +/-
     
  13. vitaliusik

    vitaliusik

    Статус:
    Оффлайн
    Регистрация:
    19.05.14
    Сообщения:
    13
    Репутация:
    -1 +/-
    Почему старый бруты не работают на новых delphi?