Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Oleg34
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
1

Задержка экрана после авторизации

20.01.2015, 20:43. Просмотров 471. Ответов 2
Метки нет (Все метки)

В консоли пишу приложение типа CLI. Подключаясь к БД даю возможность три раза ввести пароль и логин. Для возвращения в начало приложения использовал цикл do while. Все работает кроме задержки экрана. Не работает ни system ("pause"); ни geth();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <vcl.h>
#include <windows.h>
#include "stdio.h"
#include <iostream>
#include "fstream.h"
#include "process.h"
#include "conio.h"
#include <tchar.h>
#include <inifiles.hpp>
#include <locale.h>
 
#include <System.Classes.hpp>
#include <Data.DB.hpp>
#include <IBX.IBCustomDataSet.hpp>
#include <IBX.IBDatabase.hpp>
#include <IBX.IBQuery.hpp>
#include <IBX.IBSQLMonitor.hpp>
 
#pragma hdrstop
#pragma argsused
 
TIBDatabase *IBDatabase1 = new TIBDatabase(0);
TIBTransaction *IBTransaction1 = new TIBTransaction(0);
TIBQuery *QueryTabel = new TIBQuery(0);
TDataSource *DataSource1 = new TDataSource(0);
TIBSQLMonitor *IBSQLMonitor1 = new TIBSQLMonitor(0);
 
TStringList *SL = new TStringList;
AnsiString _text;
bool authorize = false;
 
 
void WriteLn(String text) {
    static HANDLE handle;
    if (!handle) {
        AllocConsole();
        handle = GetStdHandle(STD_OUTPUT_HANDLE);
    }
    text += "\r\n";
    WriteConsole(handle, text.c_str(), text.Length(), 0, 0);
}
 
int _tmain(int argc, _TCHAR* argv[]) {
        char _log[10];
        char log[] = "SYSDBA";
        char _pas[10];
        char pas[] = "masterkey";
        int k = 0;
 
        do {
            printf("Input login\r\n"); // введите логин
            scanf("%s", _log);
            printf("Input password\r\n"); // введите пароль
            scanf("%s", _pas);
            k++;
 
            if ((strcmp(_log, log) == 0) && (strcmp(_pas, pas) == 0)) {
                authorize = true;
                printf("avtorizire OK!\r\n");
 
                OleInitialize(NULL);
                IBDatabase1->DatabaseName =
                    "localhost:C:\\DataBaseTestConnect\\WORK201_AA.GDB";
                IBDatabase1->LoginPrompt = false;
                IBDatabase1->Params->Add("user_name=SYSDBA");
                IBDatabase1->Params->Add("password=masterkey");
 
                try {
                    IBDatabase1->Open();
                }
 
                catch (Exception &exception) {
                    ShowMessage(exception.Message);
                    Application->Terminate();
                }
 
                IBTransaction1->DefaultDatabase = IBDatabase1;
                QueryTabel->Transaction = IBTransaction1;
                QueryTabel->SQL->Add("select  FIO from personal");
                QueryTabel->Open();
                AllocConsole();
 
                /* выводим значения на экран */
                for (int i = 0; i < QueryTabel->RecordCount; i++) {
                    WriteLn(QueryTabel->FieldByName("FIO")->AsString);
                    QueryTabel->Next();
                }
 
                QueryTabel->Close();
                IBDatabase1->Close();
                delete QueryTabel;
                delete IBTransaction1;
                delete IBDatabase1;
                exit(0);
            }
            else {
                // Пользователь неверно указал логин и пароль
                printf("avtorizire NO!\r\n");
            }
        }
        while (k < 3);
        getch();
        return 0;
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2015, 20:43
Ответы с готовыми решениями:

Создание MainForm после успешной авторизации
В общем застрял на следующем: есть 4 формы: MainForm, с которой происходит...

Задержка TrackBar
Приветствую! Подскажите, возможно ли организовать задержку 100 мс при прокрутке...

анимация и задержка
делаю курсовую Lines проблема в том , что я не знаю как реализовать задержку...

Задержка формы
Есть поле(Label) в этом поле должны появляться рандомные буквы\числа но так...

Задержка в программе
Ребят, вот еще такой вопрос возник: я переделываю задачку из С++ в С++ builder....

2
SatanaXIII
Почетный модератор
Эксперт С++
5775 / 2774 / 379
Регистрация: 01.11.2011
Сообщений: 6,755
Завершенные тесты: 1
21.01.2015, 09:33 2
А вы этот getch перенесите внутрь цикла.
0
Oleg34
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
21.01.2015, 10:24  [ТС] 3
Спс! И я тут посмотрел внимательно, exit(0); нужно убрать. Я его делал в начале, потом забыл убрать)).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 10:24

Задержка операций по времени
Подскажите как можно сделать так , чтобы при нажатии на кнопку действия...

не работает задержка консоли
#include &lt;vcl.h&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; #include &lt;glut.h&gt; ...

Задержка между показом картинок
такой кусок кода void __fastcall TForm1::Button1Click(TObject *Sender) {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru