Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
alexist



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
А если с пуск-программы-borland-delphi - help запустить? работает ли хелп так как надо.

Работает нормально

Всего записей: 484 | Зарегистр. 23-01-2002 | Отправлено: 08:05 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alexist
Тогда проблема точно в делфовсой bpl. в 2005 она называется htmlhelp290.bpl
Если её нет в заблокированых, то тогда это она выделывается. Возможно в борланде чё-то недосмотрели и работать с кирилическими путями (папка юзер\мои документы) она не может. Попробуй поискать в на компакте её или в кого-то другого и подменить. (но бэкап раньше!)

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:58 30-05-2006
alexist



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OdesitVadim
Вернул оригинальную версию htmlhelp2100.bpl, но ничего не помогло.
Вот перечень BPL-ок, которые отличаются от оригинального дистрибутива:
aspcside100.bpl                    
aspdelphiide100.bpl                
Borland.Caliber.IDE100.bpl          
Borland.Eco.Cs.IDE100.bpl          
Borland.Eco.Delphi.IDE100.bpl      
codetemplates100.bpl                
comcore100.bpl                      
comentcore100.bpl                  
coreide100.bpl                      
coreproide100.bpl                  
cside100.bpl                        
dbkdebugide100.bpl                  
dbkdebugproide100.bpl              
dclact100.bpl                      
dcldb100.bpl                        
dcldbx100.bpl                      
dcldbxcds100.bpl                    
dclnet100.bpl                      
dclsoap100.bpl                      
delphicoment100.bpl                
delphicompro100.bpl                
delphicoreide100.bpl                
delphicoreproide100.bpl            
delphide100.bpl                    
delphidotnetide100.bpl              
deploycore100.bpl                  
designide100.bpl                    
dhtmlcomps100.bpl                  
dotnetaspide100.bpl                
dotnetcoreide100.bpl                
htmlhelp2100.bpl - уже пробовал вернуть оригинальный  
htmide100.bpl                      
htmlide100.bpl                      
idefilefilters100.bpl              
itecore100.bpl                      
iteide100.bpl                      
iteidenet100.bpl                    
iteidew32100.bpl                    
startpageide100.bpl                
stide100.bpl                        
tgide100.bpl                        
tlib100.bpl                        
todoide100.bpl                      
vbide100.bpl                        
vclactnband100.bpl                  
vclide100.bpl                      
win32debugide100.bpl                
win32debugproide100.bpl            
 
 
Добавлено:
И еще в дополнение , с кирилическим путем к (папка юзер\мои документы) у меня уже возникали проблемы при установке JVCL.

Всего записей: 484 | Зарегистр. 23-01-2002 | Отправлено: 13:18 30-05-2006
Betorgon



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Никто не подскажет как отслеживать координаты мыши не по своей форме, а по рабочему столу?

Всего записей: 272 | Зарегистр. 19-05-2006 | Отправлено: 17:48 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите. Есть программа написаная на дельфи. Там с базой работает, если неошибаюсь через BDE. Но когда создался фаил .db и при следующем открытии его вылеатет ошибка Older Version (see context). Сказали что нужно под ado переделать а я в базах да и в дельфе мало шарю. Подскажите пример кода для работы с базой через адо и вообще что нужно для него?
 
Или есть ли другой способ избавиться от этой ошибки?

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 17:54 30-05-2006 | Исправлено: Kostya, 17:56 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Betorgon
Хук к примеру. или так

Код:
 
procedure Form1.Button1Click(Sender: TObject);
var
  foo: TPoint;
begin
  GetCursorPos(foo);
  ShowMessage('(' + IntToStr(foo.X) + ' ,' + IntToStr(foo.Y) + ')');
end;
 

 
Kostya
Если есть исходники и не применяется что то слишком "умное", то вся переделка заключается в добавлении ADOConnection для настройки связи с базой и подмена некоторых компонентов BDE их эквивалентами ADO.
TTable => TADOTable.
TQuery => TADOQuery
плюс ко всему BDE не надо будет уже

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:12 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да исходникик есть. А расширение файла менять ненадо будет?
Менять только:
TTable => TADOTable.  
TQuery => TADOQuery
И все? Или еще что-то?

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 18:15 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kostya
Это идея в общем. А на самом деле обычно бывают "маленькие проблемы". К тому же надо посмотрет какой там формат базы. Может легче будет перевести её под Access.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:20 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если правельно выбрал то вот когд для создания файла базы
 
procedure TForm3.Button1Click(Sender: TObject);
begin
  with Form1 do
  begin
    Table1.Close;
    YN;
    Table1.TableName:=ExtractFilePath(ParamStr(0))+'DATA\'+Form3.Edit1.Text+'.db';
    if not Table1.Exists then
    begin
      Table1.TableType:=ttParadox;
      Table1.FieldDefs.Clear;
      NewField('Date',10);
      NewField('N',11);
      NewField('FIO',50);
      NewField('Adres',50);
      NewField('Phon',13);
      NewField('Work',50);
      NewField('Sebest',10);
      NewField('Cena',10);
      NewField('Prib',10);
      NewField('Note',55);
      NewField('pas',10);
      Table1.CreateTable;
      Caption:=mFormName+'-'+Table1.TableName;
      Edit1.Enabled:=FALSE;
      ComboBox1.Enabled:=FALSE;
      EditAdd.Enabled:=TRUE;
      muAdd.Enabled:=TRUE;
      muDelete.Enabled:=FALSE;
      muEdit.Enabled:=FALSE;
      EditEdit.Enabled:=FALSE;
      EditDelete.Enabled:=FALSE;
      EditClear.Enabled:=FALSE;
      SerPas.Enabled:=TRUE;
      FileDelet.Enabled:=TRUE;
      FileClose.Enabled:=TRUE;
    end
    else ans:=MessageDlg('Файл с таким именем уже существует.',mtError,[mbOk],0);
    Table1.Open;
  end;
  Close;
end;

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 18:30 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paradox. можно было и не цитировать такие большие объёмы.
А не проще было создать таблицу один раз или там необходимо часто создавать таблицы?  
С таким кодом переделки будет больше. Такой код не восприйметься ADO сразу.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:48 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это не я прогу писал. На счет таблиц ну там вроде нужно создавать.
 
А переделать как ее под акес? Или проще заного написать будет? И избавиться от этой ошибки можно только переделыванием?
 
Можешь дать пример как вообще в адо выводить данные к примеру в DBGrid? Типа нажал на кнопку и данные нужной таблицы появились в этой штуке.
 
И еще почему у меня всегда вылетает про запуске программы вылетает табличка с запросом логина и пароля??? Как ее убрать?
 
И еще подскажи что-то по базам как данные выводить.
Структуру всяких select я знаю т.к. работал много с php+mysql. думаю они от аксес сильно отличатся небудут

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 18:55 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kostya
С ADO обычно работают двумя способами. Первый - классический. ADOTable подключают к базе. Потом TDataSource подключают к ADOTable. А к ADOTable подключают DBGrid. И данные уже отображаются. Но такой способ плох тем, что хоть и прост в программировании (ну конечно просто - ни одной строки кода), но достаточно ресурсоёмкий для сервера и не позволяет пользоваться дополнительными возможностями.
Второй способ - через рекордсеты - очень похоже как в MySQL+PHP. Я думаю нижеприведённые строки прояснят

Код:
 
procedure TForm1.Button1Click(Sender: TObject);
  var rs:_Recordset;
begin
  ADOCommand1.CommandText:='select * from tables';
  rs:=ADOCommand1.Execute;
 
  while not rs.EOF do begin
    ShowMessage(rs.Fields['pole'].Value);
    rs.MoveNext
  end;
  rs.Close;
end;
 

На форму нужно бросить  
ADOConnection1: TADOConnection; - обеспечит связь с базой
ADOCommand1: TADOCommand; - обеспечит выполнение команд

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 19:10 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Щас. Попробую. Мне эту программа для диплома нужна
 
Добавлено:
И еще как убрать чтобы табличка с логиным и паролем непоявлялась каждый раз?

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 19:22 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kostya
У ADOConnection есть свойство LoginPromt. ставим его в False. Правда если база запаролена, то прийдётся дописать пару строк или в свойствах подключения прописать.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 19:29 30-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не, база незапоролена.
Кстати почему то второй 1-й способ неработает. врод все со всем соединятеся. запускаю программу вылетает табличка с логиными паролем воожу логин нажимаю ок и все. поле DBGrid пустое.
 
А второй способ работает.
 
И еще где можно почитать про второй способ более подробно как он в дельфе работает.
 
Мне вообще надо чтобы было так. Челвоек нажимает список таблиц. ему выдается список таблиц базы. он выбирает нужную ему выводится в поле DBGrid весь список. Что бы он мог любое поле редактировать удалять и добовлять новое. Это долго вообще делать? Или тут делов то мало???
 
Добавлено:
А все 1-й способ тоже заработал. забыло просто на поле табле включить

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 19:36 30-05-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Аля свой Access?
Всё можно, если осторожно.
Найти все таблицы базы данных при помощи ADO http://www.delphiworld.narod.ru/base/ado_all_tables.html
Как узнать перечень таблиц базы и количество записей в них (ADO)  http://www.delphiworld.narod.ru/base/ado_table_list.html
Программное создание таблиц и ключей (первичных и вторичных) для БД Access http://www.delphiworld.narod.ru/base/create_access_tbls.html
Как создать таблицу в MS Access при помощи DAO http://www.delphiworld.narod.ru/base/dao_create_access_table.html

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 20:04 30-05-2006
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kostya, посмотри ещё этот архив: http://www.sendspace.com/file/g2b61g
Примитивы с примерами, но для первого раза пойдёт, тем более, если без опыта с ADO.

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 19:25 31-05-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. А еще подскажите как в дельфе LIKE сделать c перемеными
 
чтобы найти все записи содержащий какойто текст в MySQL я к примеру писал LIKE '%".$_GET['search']."%'
 
А как сделать в дельфе тоже самое только с переменой
 
Напрмер у меня есть WHERE ФИО LIKE :fam
как тоже самое сделать чтобы он неискал строгое соответствие :fam а чтобы искал любой текст с содежанием :fam
 
Добавлено:
И еще подскажте как сделать выпадающий список. чтобы запустил программу и нажал на комбобох и там были определные поля таблицы

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 21:40 31-05-2006
Vetal303



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kostya
TADOCommand может выполнять SQL запросы
например:
ADOCommand1.CommandText:='select NAME from data where № like "%'Edit1.Text+'%"';

Всего записей: 498 | Зарегистр. 05-07-2004 | Отправлено: 00:26 01-06-2006
Kostya

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как через ADOQuery?

Всего записей: 194 | Зарегистр. 18-03-2003 | Отправлено: 01:15 01-06-2006
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru