Перейти к содержимому

Фотография

Delphiпомощь, консультация


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 239

#101
lu4ik11

lu4ik11
  • Свой человек
  • 546 сообщений
Спасибо!Я так и делала,но,например,мне надо фамилию сотрудника.Графа Фамилия есть,а внизу ничего нет.Нет автозаполнения Фамилиями сотрудников.
Насчет покупки,я не очень доверяю таким услугам.Могут обмануть.
  • 0

#102
sobol

sobol
  • Постоялец
  • 388 сообщений
ну если есть связка и нет отображения данных, значит в компоненте (например DBEdit) не прописан Datasource. А вообще у нас с вами разговор беспредметный - чтобы давать вам конкретные советы нужно видеть что вы делаете.
  • 0

#103
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений
Во люди, хотят минимум усилий и средств, но все и сейчас.
  • 0

#104
sobol

sobol
  • Постоялец
  • 388 сообщений
право выбора однако....
  • 0

#105
Инсайдер

Инсайдер
  • Случайный прохожий
  • 4 сообщений
Кто нибудь занимается/ся синтезом речи?
  • 0

#106
sobol

sobol
  • Постоялец
  • 388 сообщений
MS Agent вполне так себе "разговорчивая" штучка :rotate:
  • 0

#107
плахиш

плахиш

    ЗЛОЩАСТНЫЙ ЖГУН

  • В доску свой
  • 4 694 сообщений
чет не могу понять как написать програмку в дельфи такую.
чтобы она запрашивала логин и пароль. потом его копировала в какую нить папку.
вот уже запарился. нет перешерстил не могу понять как это сделать.
может кто поможет?
  • 0

#108
Gonzo

Gonzo
  • Свой человек
  • 565 сообщений
Как простенький вариант, можно действовать так, используя базовые команды для работы с записью в файл:
Procedure TForm1.Button1Click(Sender: TObject);
  Var F:TextFile; // указатель на текстовый файл
Begin
  AssignFile(F,'c:\1.txt'); // привязка названия к переменной
  {$I-}
  Append(f); // открыть файл для добавления
  if IOResult<>0 then // если ошибка открытия (файла нет к примеру)
	begin
				  {$I-}
	  Rewrite(F); // создать новый файл
	  WriteLn(F,'Привет'); // запись в файл строки
				  {$I+}
	end;
  CloseFile(F); // закрыть файл
end;
Ну и в команде WriteLn(F,'Привет'), слово привет заменить на то что нужно запихнуть в файл... например если вы используете компонент TEdit и называется он Edit1, то напишите Edit1.Text.

P.S. Непонятно зачем Вам вообще пароли в файлы запихивать, не надежно это...

Сообщение отредактировал Tapochki 3D: 28.05.2010, 19:43:08

  • 0

#109
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений
>P.S. Непонятно зачем Вам вообще пароли в файлы запихивать,
>не надежно это...

Лузеров разводить наверное. Сделал форму схожую с маил агент, попросил ввести данные авторизации и опаля ...))
  • 0

#110
Gonzo

Gonzo
  • Свой человек
  • 565 сообщений

>P.S. Непонятно зачем Вам вообще пароли в файлы запихивать,
>не надежно это...

Лузеров разводить наверное. Сделал форму схожую с маил агент, попросил ввести данные авторизации и опаля ...))

Ага... В эту программу ни ногой :p
  • 0

#111
Zinon

Zinon
  • Завсегдатай
  • 255 сообщений

чет не могу понять как написать програмку в дельфи такую.
чтобы она запрашивала логин и пароль. потом его копировала в какую нить папку.
вот уже запарился. нет перешерстил не могу понять как это сделать.
может кто поможет?

если для вас слово "безопасность" на последнем месте и вы делаете это только для того чтобы при повторном запросе эти поля не заполнять, то хранить это можно в любом файле (ini. txt ит.д. ) или реестре
а если все таки нужна хоть какая то "безопасность", то можно при сохранении - шифровать логин и пароль, а при повторном использовании - дешифровать. Чтобы никто не смог прочитать напрямую этот файл.

Можно конечно хранить все это в базе данных, но лучше всего никаких следов логина и пароля на локальном компьютере не оставлять - приучайте юзеров, что это в их интересах. Вон в windows server 2008 по умолчанию ваще политика паролей усложнена (минимум 8, и чтобы были обязательно символы в разных регистрах и обязательно цифры)

Информация это деньги. Утчечка информации - это всегда огромная потеря.
  • 0

#112
Bison

Bison
  • Постоялец
  • 397 сообщений
Кто нибудь занимался обработкой звука? Как можно считать файл wave и нарисовать ее точки в виде графике (по х-время, у-амплитуда (или Частота))...
  • 0

#113
плахиш

плахиш

    ЗЛОЩАСТНЫЙ ЖГУН

  • В доску свой
  • 4 694 сообщений
спасиб за советы ))


я мозг себе поломаю.
вобщем то что вы мне помогли это супер. тока вот загвоздка.
кнопка сохраняет только слово которое уже заранее прописано
а как можно сделать это
я не могу понять как получить procedure TPasswordDlg.FormCloseQuery(Sender: TObject;
var CanClose: Boolean); как она появилась?
не могу понять уже мозг кепит.

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

Сообщение отредактировал плахиш: 09.06.2010, 12:06:03

  • 0

#114
Zinon

Zinon
  • Завсегдатай
  • 255 сообщений
Событие OnFormCloseQuery возникает в момент закрытия формы. Его вы можете увидеть в списке обработчиков событий формы. Оно генерится до события OnClose и OnDestroy. OnFormCloseQuery можно использовать, когда в зависимости от какого то условия можно управлять закрытием окна. Если CanClose = true(по умолчанию), то окно закрывается, вернее генерится OnClose (а там может быть свои варианты), если false, то закрытие отменяется.
В вашей ссылке показано, что в случае неправильного пароля - происходит Application.Terminate;
Но по моему - это неудобно, когда при каждой ошибке будет закрываться приложение.

предлагаю след. последовательность:

1.Сначала создаете динамически диалоговое окно с вводом логина и пароля
2.При неправильном пароле не нужно закрывать приложение, а просто сообщение, что имя или пароль неправльны. Здесь обычно производится попытка соединения с БД. Можете дать 3 попытки, а после 3 неудач - можете закрыть приложение. При правильной попытке - это диалоговое окно удаляется FreeAndNil(PasswordDlg) и создается главное окно
3.А как сохранить логин и пароль описано выше уже

Т.к. вы используете модальное окно, то кроме обработки события OnFormCloseQuery, можно еще обрабатывать значение ModalResult: при правильном пароле присваиваете ModalResult:= mrok и форма закрывается (лучше уничтожить ее потом). Кнопка "ОК" должна иметь ModalResult:= None в данном случае. Вторую кнопку "Cancel" лучше сразу поставить статус ModalResult:= Cancel, при нажатии которой форма и приложение сразу закрывается
  • 0

#115
Gonzo

Gonzo
  • Свой человек
  • 565 сообщений
плахиш, ответил в ЛС
  • 0

#116
плахиш

плахиш

    ЗЛОЩАСТНЫЙ ЖГУН

  • В доску свой
  • 4 694 сообщений
аха все получил ))
спс
попробую пропихнуть эту прогу преподу )))
должно прокатить :lol:
спасибо
  • 0

#117
Zinon

Zinon
  • Завсегдатай
  • 255 сообщений

аха все получил ))
спс
попробую пропихнуть эту прогу преподу )))
должно прокатить :)
спасибо


Учил бы лучше. Вот так вот и заказчику будешь "пропихивать" свои труды. Хоть бы разобраться попыталси чтоли.
  • 0

#118
плахиш

плахиш

    ЗЛОЩАСТНЫЙ ЖГУН

  • В доску свой
  • 4 694 сообщений


аха все получил ))
спс
попробую пропихнуть эту прогу преподу )))
должно прокатить ;)
спасибо


Учил бы лучше. Вот так вот и заказчику будешь "пропихивать" свои труды. Хоть бы разобраться попыталси чтоли.

да там все просто. просто я еслиб на 1м курсе 5 лет назад с преподом не подрался по дельфи. может бы мой пыл в изучении не пропал. а так как он меня потом гнобить начал. увы.
я понимаю. тока вот трудно вспомнить что за чем идет.
так то простенькое написать могу. а вот сложное что то это пока трудно.
щас снова взялся за изучение
учусь ))) как говорится вспомнить все :weep:
  • 0

#119
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений
Мало кто получает хоть какие то знания от учителей, нужно читать книги самостоятельно, а за советом на форум обращаться только в крайних случаях, когда уж совсем не нашел решения ни в книгах ни в гугле.
  • 0

#120
Jettai

Jettai
  • Гость
  • 7 сообщений
Помогите разобрать программный код программы Искусственный интеллект, время очень поджимает.

unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
GroupBox2: TGroupBox;
Edit1: TEdit;
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);

private
{ Private declarations }
public
{ Public declarations }
end;

type
TKeyWord = record
key,answer : string;
end;

const AnswersCount = 310;

var
GeneratedFraza : string='';
Answers : array [1..AnswersCount] of TKeyWord;
Dialog : array [1..20] of string;
Hi : array [1..7] of string;
Form1: TForm1;

implementation

{$R *.dfm}

function FindAnswer(text : string) : boolean;
var
i,count : integer;
ans : array [0..10] of integer;
begin
count:=0;
for i:=1 to AnswersCount do
begin
if Answers[i].key=text then
begin
ans[count]:=i;
inc(count);
end;
end;
if count<>0 then
begin
randomize;
result:=true;
GeneratedFraza:='Кибер разум: '+Answers[ans[random(count)]].answer;
end else result:=false;
end;

procedure LetAnswer(text : string);
var
i,found : integer;
slovo : string;
probel : boolean;
begin
slovo :='';
probel:=false;
found:=0;
for i:=1 to length(text) do
begin

if text[i]=' ' then probel:=true;
if not probel then begin
slovo:=slovo+text[i];
if findanswer(lowercase(slovo)) then inc(found);
end else begin slovo:=''; probel:=false; end;
end;

if found=0 then
form1.Memo1.Lines.Add('Кибер разум: '+dialog[random(20)+1]) else
form1.Memo1.Lines.Add(GeneratedFraza);
end;


procedure TForm1.FormCreate(Sender: TObject);
var
s : Tstringlist;
i,a : integer;
f : string;
done : boolean;
begin

if not fileexists(ExtractFilepath(Application.ExeName)+'Mozgi.brain') then
begin
Showmessage('Ôàéë ñ ìîçãàìè "Mozgi.brain" íå áûë íàéäåí, áåç íåãî ïðîãà ðàáîòàòü íå áóäåò.');
Close;
end;

s:=Tstringlist.Create;
s.LoadFromFile(ExtractFilepath(Application.ExeName)+'Mozgi.brain');

for i:=1 to AnswersCount do
begin
f:=lowercase(s.Strings[i-1]);
answers[i].key:='';
answers[i].answer:=s.ValueFromIndex[i-1];
done:=false;
for a:=1 to length(f) do
begin
if f[a]='=' then done:=true;
if not done then Answers[i].key:=Answers[i].key+f[a];
end;
end;

for i:=1 to 20 do dialog[i]:=s.ValueFromIndex[i+AnswersCount];
for i:=1 to 7 do hi[i]:=s.ValueFromIndex[i+AnswersCount+21];
randomize;
memo1.Lines.Add('Êèáåð ðàçóì: '+hi[1+random(7)]);

end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) and (Edit1.Text<>'') then
begin
Memo1.Lines.Add('Þçåð: '+Edit1.Text);
LetAnswer(lowercase(Edit1.Text));
Edit1.Text:='';
end;
end;
end.
  • 0


Количество пользователей, читающих эту тему: 0

пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.