Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi 2

Автор: Butcher
Дата сообщения: 26.05.2006 15:31
ExExibit
Указать Label1.WordWrap:= True;
Автор: ast1
Дата сообщения: 28.05.2006 00:10
ExExibit
Если нужен перенос в конкретных местах то :

Label1.caption := 'Это ООООООООчЕЕЕЕЕЕЕЕЕЕЕнЬЬЬЬЬЬ '+#10#13+'ДлиННННаяяя Строчка';
Автор: jONES1979
Дата сообщения: 28.05.2006 12:45

Цитата:

ExExibit
Если нужен перенос в конкретных местах то :

Label1.caption := 'Это ООООООООчЕЕЕЕЕЕЕЕЕЕЕнЬЬЬЬЬЬ '+#10#13+'ДлиННННаяяя Строчка';


И не забывайте про .Autosize := true
Автор: Butcher
Дата сообщения: 28.05.2006 14:40

Цитата:
И не забывайте про .Autosize := true

в TLabel он по умолчанию True.
Автор: alexist
Дата сообщения: 29.05.2006 07:11
OdesitVadim

Цитата:
Попробуй в В HKEY_CLASSES_ROOT\AppID\dexplore.exe записать {E722CD58-9D56-4A4B-9395-8456FE843B71} и перезапустить дефу

Попробовал и в результате вообще никакой реакции на F1
Автор: OdesitVadim
Дата сообщения: 29.05.2006 10:47
alexist
Странно это всё. Что то стоит ещё, что мешает. То что у тебя не пошло с этой строкой, говорит, что у тебя второго фреймворка на машине скорее всего нет. А со старой строкой хоть как то ругается когда F1 наживаеш?
Автор: MrZeRo
Дата сообщения: 29.05.2006 13:34
alexist
Мне когда-то помогла после установки Framework 2.0 и Delphi 2006 повторная установка Framefork 1.1 SDK.
Автор: alexist
Дата сообщения: 29.05.2006 15:40
Переустановил Framefork 1.1 SDK - ничего не дало.
Потом переустановил Framefork 1.1 и SP1 - опять то же самое.
Скачал Framefork 2.0,установил и опять тот же результат.
причем, если из IDE при редактировании текста нажимаешь F1 на какой-либо функции, то открывается окно выбора какой хелп выводить (поод Win32 или под Net), но в результате опять тишина.
Автор: OdesitVadim
Дата сообщения: 29.05.2006 16:03
А если с пуск-программы-borland-delphi - help запустить? работает ли хелп так как надо.
Автор: Betorgon
Дата сообщения: 29.05.2006 18:42
Не подскажет кто: как получить имена компов в сети в виде текстовых переменных?

Добавлено:
Звиняюсь я это уже спрашивал ....(склероз однако)
Автор: alexist
Дата сообщения: 30.05.2006 07:05
OdesitVadim

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

Работает нормально
Автор: OdesitVadim
Дата сообщения: 30.05.2006 10:58
alexist
Тогда проблема точно в делфовсой bpl. в 2005 она называется htmlhelp290.bpl
Если её нет в заблокированых, то тогда это она выделывается. Возможно в борланде чё-то недосмотрели и работать с кирилическими путями (папка юзер\мои документы) она не может. Попробуй поискать в на компакте её или в кого-то другого и подменить. (но бэкап раньше!)
Автор: alexist
Дата сообщения: 30.05.2006 12:18
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.
Автор: Betorgon
Дата сообщения: 30.05.2006 16:48
Никто не подскажет как отслеживать координаты мыши не по своей форме, а по рабочему столу?
Автор: Kostya
Дата сообщения: 30.05.2006 16:54
Подскажите. Есть программа написаная на дельфи. Там с базой работает, если неошибаюсь через BDE. Но когда создался фаил .db и при следующем открытии его вылеатет ошибка Older Version (see context). Сказали что нужно под ado переделать а я в базах да и в дельфе мало шарю. Подскажите пример кода для работы с базой через адо и вообще что нужно для него?

Или есть ли другой способ избавиться от этой ошибки?
Автор: OdesitVadim
Дата сообщения: 30.05.2006 17:12
Betorgon
Хук к примеру. или так

Код:
procedure Form1.Button1Click(Sender: TObject);
var
foo: TPoint;
begin
GetCursorPos(foo);
ShowMessage('(' + IntToStr(foo.X) + ' ,' + IntToStr(foo.Y) + ')');
end;
Автор: Kostya
Дата сообщения: 30.05.2006 17:15
Да исходникик есть. А расширение файла менять ненадо будет?
Менять только:
TTable => TADOTable.
TQuery => TADOQuery
И все? Или еще что-то?
Автор: OdesitVadim
Дата сообщения: 30.05.2006 17:20
Kostya
Это идея в общем. А на самом деле обычно бывают "маленькие проблемы". К тому же надо посмотрет какой там формат базы. Может легче будет перевести её под Access.
Автор: Kostya
Дата сообщения: 30.05.2006 17:30
Если правельно выбрал то вот когд для создания файла базы

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;
Автор: OdesitVadim
Дата сообщения: 30.05.2006 17:48
Paradox. можно было и не цитировать такие большие объёмы.
А не проще было создать таблицу один раз или там необходимо часто создавать таблицы?
С таким кодом переделки будет больше. Такой код не восприйметься ADO сразу.
Автор: Kostya
Дата сообщения: 30.05.2006 17:55
Это не я прогу писал. На счет таблиц ну там вроде нужно создавать.

А переделать как ее под акес? Или проще заного написать будет? И избавиться от этой ошибки можно только переделыванием?

Можешь дать пример как вообще в адо выводить данные к примеру в DBGrid? Типа нажал на кнопку и данные нужной таблицы появились в этой штуке.

И еще почему у меня всегда вылетает про запуске программы вылетает табличка с запросом логина и пароля??? Как ее убрать?

И еще подскажи что-то по базам как данные выводить.
Структуру всяких select я знаю т.к. работал много с php+mysql. думаю они от аксес сильно отличатся небудут
Автор: OdesitVadim
Дата сообщения: 30.05.2006 18:10
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;
Автор: Kostya
Дата сообщения: 30.05.2006 18:22
Щас. Попробую. Мне эту программа для диплома нужна

Добавлено:
И еще как убрать чтобы табличка с логиным и паролем непоявлялась каждый раз?
Автор: OdesitVadim
Дата сообщения: 30.05.2006 18:29
Kostya
У ADOConnection есть свойство LoginPromt. ставим его в False. Правда если база запаролена, то прийдётся дописать пару строк или в свойствах подключения прописать.
Автор: Kostya
Дата сообщения: 30.05.2006 18:36
Не, база незапоролена.
Кстати почему то второй 1-й способ неработает. врод все со всем соединятеся. запускаю программу вылетает табличка с логиными паролем воожу логин нажимаю ок и все. поле DBGrid пустое.

А второй способ работает.

И еще где можно почитать про второй способ более подробно как он в дельфе работает.

Мне вообще надо чтобы было так. Челвоек нажимает список таблиц. ему выдается список таблиц базы. он выбирает нужную ему выводится в поле DBGrid весь список. Что бы он мог любое поле редактировать удалять и добовлять новое. Это долго вообще делать? Или тут делов то мало???

Добавлено:
А все 1-й способ тоже заработал. забыло просто на поле табле включить
Автор: OdesitVadim
Дата сообщения: 30.05.2006 19:04
Аля свой 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
Автор: reenoip
Дата сообщения: 31.05.2006 18:25
Kostya, посмотри ещё этот архив: http://www.sendspace.com/file/g2b61g
Примитивы с примерами, но для первого раза пойдёт, тем более, если без опыта с ADO.
Автор: Kostya
Дата сообщения: 31.05.2006 20:40
Спасибо. А еще подскажите как в дельфе LIKE сделать c перемеными

чтобы найти все записи содержащий какойто текст в MySQL я к примеру писал LIKE '%".$_GET['search']."%'

А как сделать в дельфе тоже самое только с переменой

Напрмер у меня есть WHERE ФИО LIKE :fam
как тоже самое сделать чтобы он неискал строгое соответствие :fam а чтобы искал любой текст с содежанием :fam

Добавлено:
И еще подскажте как сделать выпадающий список. чтобы запустил программу и нажал на комбобох и там были определные поля таблицы
Автор: Vetal303
Дата сообщения: 31.05.2006 23:26
Kostya
TADOCommand может выполнять SQL запросы
например:
ADOCommand1.CommandText:='select NAME from data where № like "%'Edit1.Text+'%"';
Автор: Kostya
Дата сообщения: 01.06.2006 00:15
А как через ADOQuery?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Событие STFilter(DBGridEh) ???


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.