PDA

Просмотр полной версии : Delphi - DB


jpg
04.12.2009, 22:23
Добрый у кого что...

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

Когда появлялись вопросы думал что нету у меня знакомых у кого можно было бы спросить и тут я вспомнил великого хкор :D пишущем на дельфи все что душе угодно... ну или почти все )

Ну что ж теперь вопросы

1. Как лучше осуществить хранение некой информации? Предположим куча текста картинок и т.п. Я пробовал через Акксесс, но опять же мало знаний и мало чего получается... но знать как еще можно не помешает.

2. Когда пробовал Акксесс мне нужно было сделать поиск по базе, но до конца я его не реализовал. Сначала просто через Эдит делал
procedure TMainForm.FindTelephoneEditChange(Sender: TObject);
begin
if Length(FindEdit.Text)>0 then
DataModule1.BookTable.Filtered:=true
else
DataModule1.BookTable.Filtered:=false;

DataModule1.BookTable.Filter:='Фамилия>'''+FindEdit.Text+'''';
end;

потом решил через СКЛ запрос

DataModule1.FindQuery.Active:=false;
DataModule1.FindQuery.Parameters.ParamByName('Tele phone').Value:=FindTelephoneEdit.Text;
DataModule1.FindQuery.Active:=true;

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

3. Вот во всех программах есть справка, с лева меню с права текст, а над меню поиск. Хотел бы что то такое сделать.

4. Посоветуйте книги, что лучше читать для обучения. Напишите с чего начинали вы.

5. Я вот до сих пор не понял как сохранять инфо в реестре, предположим настройки отображения окна программы, у каждого ведь свои вкусы.. единственное что я могу это сделать ини файл с настройками подгружаемый в программу при старте.


У меня еще много вопросов только вот время 3.22(+9гмт) так что с вашего позволения я потом допишу )

Заранее благодарю

alexteam
04.12.2009, 23:40
При написании текущего своего проекта использую замену для бде - Absolute Database
плюсы -
1.кросплатформенная (в смысле - на конечном пк не нужны никакие одбц драйверы, бде и дллки.)
2.очень быстрая. уж точно побыстрее аксеса )))))
3.есть BLOB компресия и прочие прелести. (подразумевает наличие блоб полей, как очевидно, т.е. хранение твоих картинок.. или других данных)
4.можно встроить в исполняемый модуль.
минусы
не бесплатна для комерческого использования.. :)

2. можно и просто скуель запросом. и отображать результат прицепившись к компоненте делающий этот запрос используя ее в качестве датасурса.
либо вручную (кусок с проекта)
procedure TL2Summon.RecreateVisual;
var
action : TL2PetAction;
begin
DeleteAllActions;
dmData.Query.Close;
dmData.Query.SQL.Text := format('select actionid, name, icon, type from petactions where npcid = %d and minlvl < %d order by id;',[NpcType.NpcTypeId, Level]);
dmData.Query.Open;
while not dmData.Query.Eof do
begin
action := TL2PetAction.Create(UserEngine,ActionsList,dmData. Query.FieldByName('actionid').AsInteger);
action.Name := dmData.Query.FieldByName('name').AsString;
action.icon := dmData.Query.FieldByName('icon').AsString;
if action.icon = '' then
action.icon := 'NOIMAGE';
action.ActionType := dmData.Query.FieldByName('type').AsString;
action.RecreateVisual;
dmData.Query.Next;
end;
dmData.Query.Close;
end;

3. смотрим пункт 2.
4. гугл ?
5. поверь, лучше уж в инишке, а еще лучше в какомнибудь хмл сторрадже.

xkor
05.12.2009, 00:25
jpg, с БД у меня отношения натянутые (ну не люблю я БД и не нужны они мне были никогда) так что первые два вопроса оставлю без ответа.
3. Вот во всех программах есть справка, с лева меню с права текст, а над меню поиск. Хотел бы что то такое сделать.ты про справку в формате hlp или chm?, так для её создания проги нагуглить - 2 минуты)
4. Посоветуйте книги, что лучше читать для обучения. Напишите с чего начинали вы.согласен с alexteam, гугл ответит на любой вопрос, тока через него и учусь (ну точнее через его результаты)
5. Я вот до сих пор не понял как сохранять инфо в реестре, предположим настройки отображения окна программы, у каждого ведь свои вкусы.. единственное что я могу это сделать ини файл с настройками подгружаемый в программу при старте.а нафиг тебе реестр сдался?, чем он лучше ini или xml файлов?)
в него стоит лезть если надо там пункт в контекстное меню проводника добавить или прогу в автозапуск прописать, а хранить там настройки ИМХО лишнее...

jpg
05.12.2009, 15:10
alexteam,
xkor,

Спасибо!

==================================

Я и так все Гуглю, яндексю, и Яхуюю xD

Насчет книжек хотелось бы просто узнать что вы читали первым по Дельфи, а самих у книжек у меня весь набор... тот пак что на торрентс лежит.

Может немного не в тему... по какому запросу идет поиск на трекере (торрентс)... в смысле я хочу сделать кнопочку поиска на торренте из программы...

линк запроса на поиск+edit1.text

И еще вот xkor, есть ли у исходники у тебя какие нибудь программ которые работают с ла2, ну само собой уже устаревшие и не имеющие "силы". Я хочу просто понять как работает программа которая влияет на процесс игры... Мечта у меня бота написать... на какую нибудь игру. Мне просто не понятен сам процесс... точнее я понимаю что это работа с пакетами. В пакете пишется инфа о том где... а все уже не нужно... я понял :o

Тогда как ловить пакеты через дельфи?

Да если что то спрашиваю "большое" это не значит что я такой наглый и прошу все мне рассказать а просто в каком направлении идти (не надо меня на гугл слать).

alexteam
05.12.2009, 15:31
что вы читали первым по Дельфи
ctrl+f1, честно...

Может немного не в тему... по какому запросу идет поиск на трекере (торрентс)
post запросом у них это реализовано. помимо данных формы нужно еще и данные сесии передавать (храниться в кукисах)
простой линкой не получиццо.
Тогда как ловить пакеты через дельфи
ловят рыбу... а пакетах носят хлеб.. а в данном контексте - перехватывают траффик стороннего приложения, либо пишут собственное приложения "воспроизводящее" этот траффик.
для перехвата нужно определиться с методом к примеру в пх их 2.
1. траффик можно ловить перенаправляя соединение стороннего приложения на свое приложение которое будет выступать посредником - в этом случае копать в сторону сокетов и апи перехвата connect
2. Winsock LSP.
точнее их 3.. 3й это некая комбинация первого и 2го..

а для воспроизведения - опять же сокеты.

xkor
05.12.2009, 16:28
Тогда как ловить пакеты через дельфи?исходники пакетхака на экран и изучай)
ЗЫ ток учти что там многое реализовано так сказать на скорую руку...

alexteam
05.12.2009, 17:13
э..

xkor
05.12.2009, 22:15
alexteam, что ээ, ты когда переписывал пакетхак многие куски выдрал из старого варианта а там почти всё было "на скорую руку", ну и в новом коде многое по хорошему надо бы оптимизировать.

alexteam
05.12.2009, 22:20
э... пойду ка я лучше диалоги приват сторов к боту прикручу... пока палками не закидали %)

jpg
06.12.2009, 11:34
alexteam, насчет т.ру я сам нашел ответ )
дело в том что когда ты по трекеру ищешь там не отображается запрос... может я не так выразился... но в любом случае я разобрался.

http://torrents.ru/forum/tracker.php? - Сам поиск трекера
nm=Тект_того_что_ищем
f=ID_раздела_в_котором_ищем
uid=ID_пользователя

теперь все просто. Делаю программу например по фильмам... чтобы пользователь из программы начал поиск по трекеру раздела фильмы-зарубежное кино:

http://torrents.ru/forum/tracker.php?f=7&nm=что_ищем

http://torrents.ru/forum/tracker.php? - сам поиск
f=7 - поиск в разделе зарубежное кино, 7 - ID раздела
& - "пробел" - разделение "запросов"
nm=что_ищем - после "=" само название того что искать

Теперь просто делаем едит1 и баТон1

при нажатии на баТон1 будет открывать нам браузер на
http://torrents.ru/forum/tracker.php?f=7&nm= + эдит1.текс

так что уважаемый alexteam линком получается ))))))

xkor, а разве программа к боту не использует БД?
я думаю использует. поля примерно такие:
ИД Имя Пароль аки

п.с. на форуме такая короткая сессия если не нажать "запомнить"
-------
насчет книжек так и не понял... такое ощущение что просто не хотите говорить.. Я к примеру читаю Фленов - Библия Delphi

Добавлено через 13 минут
добавлено:

чорт программа теперь бесплатная.. в смысле спасибо, я просто с платной поэкспериментировать хотел.

Я заметил в программе недочет, может так и должно быть, при нажатии на "Транслит" меняет все в транслит, а вот обратно не меняет на русский когда галку убирает.

Тем способом который я знаю, менять на русский обратно я бы тоже поленился делать. )

alexteam
06.12.2009, 12:39
получаеться, хм.
а если пользователь на портал треккера не зашел, т.е. данных о сесии в кукисах браузера нет ? -)

зы.
когда работал в одной прогерской фирме у них там валялась книженция "Стив Тейксейра, Ксавье Пачеко - Borland Delphi Руководство разработчика" занимательно и доступно.
но это уже далеко не первое что листал\читал.. в основном материалом для чтения являются статьи найденные в гугле по тому или иному конкретному вопросу.

jpg
06.12.2009, 15:28
alexteam, легко проверить... открываем ИЕ (не знаю как у тебя но я им не пользуюсь, так что куков там ни на что нету) пробуем.

В принципе можно не пробовать так как без сессии искать нельзя. То есть пользователь должен зайти под собой. Но это уже проблемы пользователя ))

за книжку спасибо. скачаю, почитаю.

xkor
06.12.2009, 15:58
чорт программа теперь бесплатная.. в смысле спасибо, я просто с платной поэкспериментировать хотел.

Я заметил в программе недочет, может так и должно быть, при нажатии на "Транслит" меняет все в транслит, а вот обратно не меняет на русский когда галку убирает.

Тем способом который я знаю, менять на русский обратно я бы тоже поленился делать. )а зачем нажимать транслит если тебе транслит не нужен?), так что смысла обратной операции я не вижу
вот кстати код который все контролы переводит в транслит:
function Convert(OldName: string): string;
var OldNameLength: integer;
i: integer;
s: string;
begin
OldNameLength := length(OldName);
s:='';
i:=1;
while i <= OldNameLength do begin
if (OldName[i] in ['A'..'Z']+['a'..'z']+['0'..'9']+
['{']+['}']+['[']+[']']+['`']+['~']+
['!']+['@']+['#']+['$']+['%']+['^']+
['&']+['*']+['(']+[')']+['-']+['_']+
['+']+['=']+['\']+['|']+[';']+[':']+
['"']+['{']+['<']+['>']+[',']+['.']+
[' ']+['?']+['/']+['№']+['^','''',#13,#10])
then s:=s+OldName[i];
if OldName[i] in ['А','Б','а','б'] then
s:=s+chr(ord(OldName[i])-127);
if OldName[i] in ['В','в'] then
s:=s+chr(ord(OldName[i])-108);
if OldName[i] in ['Г','г','Ж','ж'] then
s:=s+chr(ord(OldName[i])-124);
if OldName[i] in ['Д','д','Е','е'] then
s:=s+chr(ord(OldName[i])-128);
if OldName[i] in ['З','з'] then
s:=s+chr(ord(OldName[i])-109);
if OldName[i] in ['И','и','К','к','Л','л','М','м','Н','н','О','о','П ','п'] then
s:=s+chr(ord(OldName[i])-127);
if OldName[i] in ['Й','й'] then
s:=s+chr(ord(OldName[i])-128);
if OldName[i] in ['Р','р','С','с','Т','т','У','у'] then
s:=s+chr(ord(OldName[i])-126);
if OldName[i] in ['Ф','ф'] then
s:=s+chr(ord(OldName[i])-142);
if OldName[i] in ['Х','х'] then
s:=s+chr(ord(OldName[i])-141);
if OldName[i] in ['Ц','ц'] then
s:=s+chr(ord(OldName[i])-147);
if OldName[i] in ['Ы','ы'] then
s:=s+chr(ord(OldName[i])-130);
if OldName[i] in ['Э','э'] then
s:=s+chr(ord(OldName[i])-152);
if OldName[i] = 'Ё' then s:=s+'Yo';
if OldName[i] = 'ё' then s:=s+'yo';
if OldName[i] = 'Ч' then s:=s+'Ch';
if OldName[i] = 'ч' then s:=s+'ch';
if OldName[i] = 'Ш' then s:=s+'Sh';
if OldName[i] = 'ш' then s:=s+'sh';
if OldName[i] = 'Щ' then s:=s+'Sch';
if OldName[i] = 'щ' then s:=s+'sch';
if OldName[i] in ['Ъ','ъ','Ь','ь'] then s:=s+chr(39);
if OldName[i] = 'Ю' then s:=s+'Yu';
if OldName[i] = 'ю' then s:=s+'yu';
if OldName[i] = 'Я' then s:=s+'Ya';
if OldName[i] = 'я' then s:=s+'ya';
i:=i+1;
end;
Convert:=s;
end;

procedure TfMain.chkTranslitClick(Sender: TObject);
var
i,k: Integer;
p: PPropInfo;
o: TStrings;
lg: string;
begin
if chkTranslit.Checked then
for i:=0 to Self.ComponentCount - 1 do begin
p:=GetPropInfo(Components[i].ClassInfo, 'Text');
if Assigned(p) then SetStrProp(Components[i], p, Convert(GetStrProp(Components[i], p)));
p:=GetPropInfo(Components[i].ClassInfo, 'Caption');
if Assigned(p) then SetStrProp(Components[i], p, Convert(GetStrProp(Components[i], p)));
p:=GetPropInfo(Components[i].ClassInfo, 'Items');
if Assigned(p)and(p.PropType^.Name='TStrings')then begin
o:=TStrings(GetObjectProp(Components[i], p));
o.BeginUpdate;
for k:=0 to o.Count-1 do o[k]:=Convert(o[k]);
o.EndUpdate;
end;
p:=GetPropInfo(Components[i].ClassInfo, 'Tabs');
if Assigned(p)and(p.PropType^.Name='TStrings')then begin
o:=TStrings(GetObjectProp(Components[i], p));
o.BeginUpdate;
for k:=0 to o.Count-1 do o[k]:=Convert(o[k]);
o.EndUpdate;
end;
end;
end;


Кстати а зачем тебе с l2Walker Corrector эксперементировать?)

jpg
06.12.2009, 16:12
xkor, спасибо большое за код!

насчет экспериментов, я как бы учусь и это не помешает.
пойми меня правильно я хороший )

Считай меня тестером (ассоциируется с тостером, но не важно)

Скажи, раньше программа когда она запрос делала по акам при нажатии кнопочки "загрузить логины" они же загружались только раз?
Если да то есть два вопроса...

блин вот начинаю писать и думаю все это похоже на взлом твоей программы... )))))

так что я лучше тебе в асю напишу...

Sherman
09.12.2009, 18:22
Согласен с alexteam, Ctrl+F1, а еще интереснее в Пуск > Все программы > Borland Delphi 7 > MS SDK Help Files

:)

xkor
09.12.2009, 20:24
Sherman, в гугле полюбасу интереснее и разнообразнее)

jpg
15.12.2009, 23:01
гы гы... с наступающим )

Вопрос: Если я передам файл с БД(аксес) другому человеку и у него не будет стоять офис он не сможет работать с прогой?

Если нет то как тогда хранить данные? Так что бы много и все в одном :D


п.с. и еще как программно вырубить комп? (знаю гугл мне ответит сразу, но я люблю спрашивать у челавекаф а не у машин...:o)

alexteam
15.12.2009, 23:07
Вопрос: Если я передам файл с БД(аксес) другому человеку и у него не будет стоять офис он не сможет работать с прогой?

нет.

Если нет то как тогда хранить данные? Так что бы много и все в одном
я свои рекомендации уже давал. в прочем про одбц я тоже писал.. но как видимо мимо ушей..

и еще как программно вырубить комп?
winexec("shutdown /s /f /t 1",sw_hide);

jpg
16.12.2009, 20:49
alexteam, читал я ))) я все читал... просто спросил еще раз )
может есть еще способы. Буду твой пробовать тогда. Спасибо

Добавлено через 1 минуту
alexteam, что нуна в юзес писать? точнее у меня он ошибку выдает.

Добавлено через 8 минут
сам разобрался... нуна было вот так
winexec('shutdown /s /f /t 1',sw_hide);

Добавлено через 20 минут
кстати выключение похоже на то что делал вирус один... тогда еще в новостях говорили что самый опасный вирь..... или что то такое )

Добавлено через 6 часов 58 минут
alexteam, как загружать в таблицу? так как в аксес не получается

//if opendialog1.Execute then
// begin
// ABSTable1.edit;
// ABSTable1.LoadFromFile(opendialog1.FileName);
// ABSTable1.Post;

// end;

Добавлено через 1 час 25 минут
Бреддд... а теперь все работает... я вроде ничего особо не менял. плин реально колбасит...


alexteam, спасибо большое, рельно прикольная альтернатива (уже) г@внAccess-у.

Добавлено через 12 часов 23 минуты
как бы не сказать матом... но я зае...ся

скажите что не так... как правильно сделать? я через кнопку ссылку пытаюсь сделать но не получается

var i,a,b:string;
begin
i:='http://torrents.ru/forum/tracker.php?f=7&nm=';
a:=ed1.EditText;
b:=i+a;
ShellExecute(Handle, nil, b, '','', SW_SHOW);
end;

Если поставить заместо "б" линк - 'ццц.пипец.ее' то все работает. Я правда очень устал и не спал уже долго может я жестоко туплю... но сил больше нету.

Добавлено через 8 минут
ооо я сам допер... меня после этого на такой ржач пустило... те кто со мной живет пару раз спрашивали всели со мной в порядке....

ShellExecute(Handle, nil, PChar(b), '','', SW_SHOW);

xkor
17.12.2009, 03:36
jpg, тихо сам с собою переписываешься?)

jpg
17.12.2009, 06:11
xkor, да я вот тоже об этом подумал...

alexteam
17.12.2009, 11:29
я вчера пока катал петицийу про пчар он сам на свой вопрос ответил... -)

jpg
21.12.2009, 10:46
тыдыщ! ) С Наступающим!

Так вот тут у меня такая задача... нужно сделать парсер.
Предположим есть сайт на нем хранится инфа о чем то, все страницы под ИД... то есть как я понимаю нужно просто перебирать ИД страниц, а вот как мне считывать с них инфу, и то что мне нужно что бы он скачивал\сохранял и добавлял в бд =)

xkor
21.12.2009, 15:47
jpg, по такому подробному описанию можно посоветовать только одно - берешь и делаешь)

jpg
22.12.2009, 15:33
xkor, ммм... тогда так, как брать что то из другой программы.
К примеру есть у меня ася... на сообщение "привет" писать "пока" ))
Наверно опять что то с пакетами...
Тогда такой пример... ммм в нодпаде(блокноте), что бы по нажатии батон1 там писалось.. что нибудь.

Объяснить не могу... надо поспать может мыли встанут на место.

alexteam
22.12.2009, 15:43
кх..кх.. (http://www.google.com.ua/#hl=ru&q=delphi+sendmessage+%D1%8D%D0%BC%D1%83%D0%BB%D1%8 F%D1%86%D0%B8%D1%8F+%D0%BD%D0%B0%D0%B6%D0%B0%D1%82 %D0%B8%D0%B9+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88+ %D0%B2+%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85+%D0%BF %D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D 1%8F%D1%85&meta=&aq=&oq=delphi+sendmessage+%D1%8D%D0%BC%D1%83%D0%BB%D1% 8F%D1%86%D0%B8%D1%8F+%D0%BD%D0%B0%D0%B6%D0%B0%D1%8 2%D0%B8%D0%B9+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88 +%D0%B2+%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D1%85+%D0%B F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8% D1%8F%D1%85&fp=6f1e50ea5ee37628)

jpg
22.12.2009, 16:13
alexteam, пых пых...

jpg
25.12.2009, 23:17
Вот понадобилось сделать прогу, сворачивать в трей и что бы будучи не активной она срабатывала на горячие клавиши.
Собственно как ее сделать. Сама прога есть все работает, нужно только сделать так что бы она срабатывала пока я что то делаю в инете или в ла2 играю )

Пример.
Играем в котру ил еще во что. Нужно срочно узнать время, нажимает Алт+Ы. Появляется окошко на 1-2 сек со временем.

Добавлено через 43 минуты
ну что за бред опять я сам с собой... пля )

вот решение


procedure TMain.Timer1Timer(Sender: TObject);
begin
if GetASyncKeyState(83)<>0 then
begin
//Выполняем то что нам нуна при нажатой клавише "S"
end;
GetKeyState(0);
end;

end.

alexteam
25.12.2009, 23:42
По таймеру... круто %)

jpg
26.12.2009, 02:50
alexteam, а что? )

Вот зацени... http://torrents.ru/forum/viewtopic.php?t=2564799

Я мега программер xD

Хотя начал все изучать ну... в сентябре наверно...

alexteam
26.12.2009, 11:28
форум временно отключен
из за тебя шоле ?...

jpg
26.12.2009, 13:50
alexteam, да не )

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

alexteam
26.12.2009, 13:58
ога.. канешна... фаг...
http://i.piccy.info/i4/12/f3/6c7c421060f4e3f8457e7801a512.png

jpg
26.12.2009, 14:28
alexteam, вопрос: есть ли смысл юзать Ribbon Controls?
для программ, что бы красивее были...

xkor
26.12.2009, 14:33
alexteam, вот как надо раздавать)
http://coderx.ru/uploads/rank.png

alexteam
26.12.2009, 15:10
jpg, у меня ничего хорошего с этими красивостями никогда не получалось.. хорошего юзабилити можно добиться и без всей этой графики.

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

jpg
26.12.2009, 16:38
xkor, ыыы дай свой пас кей ))) я чего нить покачаю... :rolleyes:

alexteam, какими еще способами можно добиться красивости?

alexteam
26.12.2009, 16:43
манифест + грамотное оформление интерфейса.
если у тебя основное окно не отягощенно интерфейсными элементами и все команды по вызову настроек(ели таковые есть), показу окна эбаута/информации, активации и деактивации самой утилиты спокойно вмесяться в попапменю - почему не организовать приложение с скрытой главной формой и попапменю с иконки в трее. при необходимости добавив туда балонхинты.

jpg
26.12.2009, 17:04
alexteam, быстро однако... ответил

Ммм... можно в принципе. Просто привык что есть главное окно всегда.

Добавлено через 16 минут
alexteam, блин, что то там сложно с этим манифестом, я тут как раз подумал о том что бы сделать что нить для данного сайта (coderx.ru)... Вот думаю сделать прогу с использованием Рибон контрол.

Так что ждем когда я сделаю )


п.с. для чего я это делаю? Учусь я!

jpg
28.12.2009, 01:06
Вопрос: как запретить браузеру заходить на определенный сайт... к примеру вконтакте?? очень нуна =)))

Браузеры лис, опера, ие.

TAMBIK
28.12.2009, 01:49
xkor
отстал я
http://img7.imageshost.ru/imgs/091228/ed8e54a781/9948f.jpeg[/URL]

alexteam
28.12.2009, 11:48
самый быстрый и дурацкий способ - прописать в hosts

jpg
28.12.2009, 14:21
alexteam, что именно прописать? )
скажи пожалуйста... реально нуна!

что бы запретить доступ к контакт.ру

alexteam
28.12.2009, 14:28
пуск - выполнить
notepad c:\windows\System32\drivers\etc\hosts
добавить
74.125.87.103 vkontakte.ru

но такие вещи нужно отсекать на гейтвее.. вообщето...

jpg
28.12.2009, 14:43
alexteam, мм спасибо!
ну программно тоже теперь просто сделать)

Я просто не когда этим не интересовался вообще по этому мало знаю.

jpg
31.12.2009, 21:41
Всех с Новым Годом!

Вот тут установить хотел АлфаСкинс, только при установке сразу же пишет
[DCC Fatal Error] acnt2010_R.dpk(29): E2202 Required package 'vcl' not found

Что мне делать? Объясните мне глупому на пальцах ))

Добавлено через 1 час 0 минут
Я фигею с этого форума... что то он какой-то мистический что ле...
Я потратил целый день на то что бы найти причину, и только потом решил написать здесь, и сразу же нашел решение задачи.... И так со всеми моими проблемами...

Но прошу не принимать этот мистический факт во внимание и по возможности если я не нашел ответа еще помогать... Спасибо.

П.с. решение: самое простое все *.дку файлы копирнуть в папку с компонентом который ставишь... Наверняка есть другое решение, но я так проблему решил, вот только у меня при второй части установки опять были ошибки... в итоге я решил снести 2010 и заново поставить 2009... он мне больше нравится и на нем делать что-то как-то спокойнее.

Всех еще раз с наступающим... так как живу в Японии у меня уже как 2 час 41 минута идет новый год.

alexteam
31.12.2009, 21:44
tools->environment options-> library -> librarypath вот сюды собственно путь к дку запихнуть и надо было..

jpg
01.01.2010, 20:38
теперь это

[DCC Warning] acnt2009_R.dpk(125): W1033 Unit 'ZLibEx' implicitly imported into package 'acnt2009_R'

и больше не в какую не хочет ставиться... я уже не знаю что делать. пойду спать... хеллп )

Добавлено через 19 часов 21 минуту
хелллп )))

[DCC Fatal Error] acnt2009.dpk(31):
E2202 Required package 'acnt2009_R' not found

все пути у меня указаны правильно! все равно ошибка

alexteam
01.01.2010, 20:40
найди блин пакет acnt2009_R (поиск) и пропиши путь к нему туда же.

jpg
01.01.2010, 21:04
да я же говорю путь прописан! )

Добавлено через 6 минут
alexteam, пожаста сделай мне подарок! )
радмин включен ) можешь показать... я со вчерашнего дня пытаюсь поставить... буду очень очень и очень благодарен

ася если что 37-202-7777

alexteam
01.01.2010, 21:12
ася... радмин...низашо...

по поводу acnt2009_R.dpk ты его вчера и ставил (он еще не компилисо из за отсутсвия вцл либы) вот сначала ставим его, прописываем к нему путь. а потом ставим то шо его требует..

jpg
01.01.2010, 21:13
тьфууу.... блин. че то потыкал поделал покопировал он сам взял и установился................. О.о

Спасибо....

alexteam
01.01.2010, 21:17
у меня такое ощущение.. что если ты заложиш бомбу на заводе по производству деталей к боингам то после взрыва на месте завода окажецца пара случайно собраных взрывом подлодок с вертикальным взлетом.

jpg
01.01.2010, 21:44
alexteam, ыыыыыыыыы xD


проверя тут компоненты у меня дбгрид не находит... )))

[DCC Fatal Error] Unit6.pas(7): F1026 File not found: 'acDBCtrlGrid.dcu'

Добавлено через 16 минут
так все сделал все находит НО DBCtrlGrid не отображает ничего... но зато соединяется с базой, а так же в нем можно выбирать колесом мыши данные, только вот все серое и ничего не написано....

Добавлено через 4 минуты
аааааааааа все понял, это я тупанул )) это другой грид я почемуто подумал это простой грид.... тогда странно почему у них нету грида для дб...

alexteam
01.01.2010, 21:53
это мне почемуто напоминает вот это видео...
http://www.youtube.com/watch?v=XP34FHKleiY

jpg
02.01.2010, 15:39
в сотый раз смотрю и все равно улыбает )))

ну не хрена скока человекаф читают эту тему...

Здесь присутствуют: 11 (пользователей: 7 , гостей: 4)
jpg, balu, TopBaJIbg, GeneraLHarrisoN, Anafema, dimapplk, ratvier

Добавлено через 3 часа 2 минуты
теперь из моей темы можно потихоньку собирать маленький хелп для чайников ))

Добавлено через 9 часов 31 минуту
Не понял как получить доступ к фреймам?? У меня из одного фрейма настройка другого...

alexteam
02.01.2010, 15:53
я, к примеру, делаю вот так.
делаю обобщающий класс потомок твинконтрол. полями которого являються фреймы, формы и прочее.

TuserEngine = class(TWinControl)
.......
i_Trade : TfInterface_Trade;
i_requestPetition : Tfinterface_requestPetition;
i_Petition : TfInterface_Petition;
i_AcquireSkillList : Tfinterface_AcquireSkillList;
i_RecipeShop : Tfinterface_RecipeShop;
i_gameaccountsettings : Tfinterface_gameaccountsettings;
.....
Constructor create(AOwner:TWinControl); override;
end;

в конструкторе этого класса создаю все визуальные части

constructor TuserEngine.create;
begin
inherited create(Aowner);
.....
i_Trade := TfInterface_Trade.Create(self, Aowner);
i_AcquireSkillList := Tfinterface_AcquireSkillList.Create(self, Aowner);
I_RecipeShop := Tfinterface_RecipeShop.Create(self,Aowner);
i_gameaccountsettings := Tfinterface_gameaccountsettings.Create(self, Aowner);
....
end;

в каждом интерфейсном элементе замещаю конструктор креейт своим размещая вот такие 2 записи в паблик секции.
UserEngine : TWinControl;
constructor Create(SetUserEngine:TWinControl;AOwner: TComponent);
реализацией этого конструктора - являются 2 строчки

UserEngine := SetUserEngine;
inherited create(AOwner);
после inherited можно задать parent для данного фрейма если нужно.
допустим мы создавали userengine передавая ему параметр fmain:tformmain
тогда ьбудет выглядеть как то так
parent := (aowner as tformmain).panel222;

а далее из фрейма в фрейм обращение идет уже вот таким образом
TuserEngine(userengine).AcquireSkillList.blablabla
TuserEngine(userengine).I_RecipeShop.blablabla
ну и т.д.

таким образом создавая один юзеренджин мы автоматически оздаем кучу интерфейсных частей и они автоматически связываються между собой посредством поля userengine:twincontrol;

ну и естественно в деструкторе юзеренджина незабываем разрушать все созданные элементы

jpg
02.01.2010, 16:09
о май год... мозг начинает вскипать. Сча буду читать и перечитывать

jpg
03.01.2010, 23:30
Скажите что нужно "Копать" и что читать что бы сделать нечто подобное

http://www.youtube.com/watch?v=oJYaTIYAAfc

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

Если есть ссылки на исходники, прошу поделится. Спасибо.

alexteam
03.01.2010, 23:34
ddraw/opengl/gdi+
и много травы -)

jpg
03.01.2010, 23:41
alexteam, вот не задача ничего не знаю и не юзаю... кроме травы

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


Я просто хочу сделать две проги, они приведены выше )
Так как то что делал на момент создания топика уже закончил... Но скажу честно... я сделал ОГРОМНЫЙ левел-ап в Дельфи, сравниваю просто когда думал о создании и сейчас когда уже сделал...

alexteam
03.01.2010, 23:43
форумный призрак...
примеров у мну точно нет... =\

jpg
03.01.2010, 23:46
alexteam, эхх жаль, ладно спасиб все равно, ты мне очень много помог... в целом, даже и не считая этой темы, много твоих постов мне полезны.

Ладно буду думать как и что делать. или точнее сначала Что а потом Как.

jpg
12.02.2010, 17:59
Гы )


Нужно сделать прогу одну ) Только вот проблема в ней придется использовать Японские слова, а это значит хирагану катакану и иероглифы.

Какую мне использовать базу данных что бы там были не вопросики а отображались нормальные Японские слова?? ))
Очень нужно. Заранее спасибо!

хирагана - ひらがな
катакана - カタカナ
иероглифы - 漢字