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

» Вопросы по Delphi

Автор: Smog
Дата сообщения: 09.06.2005 11:24
Насущный вопрос - с какой БД и через что проще всего работать?
Скорость не критична, устойчивость в принципе тоже, объем небольшой
Автор: PowerChute
Дата сообщения: 09.06.2005 11:32
Smog
Вопрос конечно интересный. Что лучше всего знаешь - с тем и работай.
Автор: ViktorSila
Дата сообщения: 09.06.2005 12:03
Delphi ругается что нет файла bde.pas. Где его взять.....Вроде полную версию ставил.
Автор: Shurshunchik007
Дата сообщения: 09.06.2005 12:49
Попытайся его серчем найти... существует ли он вообще...
Найдешь... либо директории проверяй... либо повтыкай его всюду...
P.S. А у меня такого файла нет...
Автор: STEEL
Дата сообщения: 09.06.2005 12:56
Кому не лень, напишите пример поиска по БД. Так ничего и не вышло.
Автор: Smog
Дата сообщения: 09.06.2005 12:59
PowerChute
Ладно, поставим вопрос по-другому
Что легче узнать? )
Автор: ShIvADeSt
Дата сообщения: 09.06.2005 13:49
Smog
Самое простое сейчас это создать базу на основе акцеза и работать с ней на дельфи через АДО если база не большая, то через First Next, иначе при помощи запросов SQL. Поставь задачу что тебе надо, будем определяться что и как.
STEEL
Тебе нужен поиск фрагмента в любом столбе или как?
вот способ при помощи SQL
('select * from MyTable where MyColumn like %'+Template+'%');
MyTable таблица в которой надо искать, MyColumn столбец в котором происходит фильтрация записей, Темлэйт это шаблон к5оторый тебе надо найти.
Кидаешь на форму TQUery соединяешь ее с базой при помощи BDE или указываешь полный путь к таблице.
Автор: andrianov123
Дата сообщения: 09.06.2005 17:22
ПОмогите, пожайлуста!
Мне нужно импортировать данные из DBF-файла в текстовой файл по заданной структуре текстового файла!
Автор: STEEL
Дата сообщения: 09.06.2005 23:28
ShIvADeSt
А с помощью TTable в стобце NAME допустим ?
Автор: ShIvADeSt
Дата сообщения: 10.06.2005 00:55
STEEL

Цитата:
А с помощью TTable в стобце NAME допустим ?

Если тебе принципиально нужен TTable (хотя я не понимаю зачем), то есть 3 способа стандартный при помощи DBLookupComboBox (как использовать смотри в Хелпе)
второе

Цитата:

Searches the dataset for a specified record and makes that record the current record.
function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions
): Boolean;
Description
Call Locate to search a dataset for a specific record and position the cursor on it.
KeyFields is a string containing a semicolon-delimited list of field names on which to search.
KeyValues is a variant array containing the values to match in the key fields. If KeyFields lists a single field, KeyValues specifies the value for that field on the desired record. To specify multiple search values, pass a variant array as KeyValues, or construct a variant array on the fly using the VarArrayOf routine. For example:

with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

Третий (сам когда то его юзал, самый не правильный ИМХО) это используя медоды First Next для таблицы пробегать все записи в поисках нужной. В зависимости от ситуации я использую либо первый либо второй способы, а так вообще делаю просто выборку через TQuery (но тебе я так понял надо чтобы таблица была вся видна и просто осуществить переход к определ записи).
Автор: vserd
Дата сообщения: 10.06.2005 13:25
ALL
А никто не встречал в WIN32 API или других библиотеках функции по расширению относительных путей в полные?
т.е. задан путь вида '.\myDir\SubDir\fileName.ext' а получаем на выходе 'C:\programm files\CoolProg\myDir\SubDir\fileName.ext'. Вроде в встречал когдато такую функцию, щас понадобилось, а найти не могу. :((
Автор: Alex47
Дата сообщения: 11.06.2005 09:45
ViktorSila

Цитата:
Delphi ругается что нет файла bde.pas. Где его взять.....Вроде полную версию ставил.

Borland к BDE исходники не поставляет.
Автор: ShIvADeSt
Дата сообщения: 11.06.2005 12:32
vserd

Цитата:
т.е. задан путь вида '.\myDir\SubDir\fileName.ext' а получаем на выходе 'C:\programm files\CoolProg\myDir\SubDir\fileName.ext'.

ExpandFilePath (сорри если немного не так, щас под рукой хелпа нет, но если я не ошибаюсь то ключевое слово здесь Expand)
Автор: Solnake
Дата сообщения: 12.06.2005 12:41
Люди, помгите сделать ConnectionString для ADOConnection.
Если делать его через менеджер получается строка :

Код: Provider=SQLOLEDB.1;Password=masterkey;Persist Security Info=True;User ID=roton;Initial Catalog=Roton;Data Source=SNAKE
Автор: Tropin
Дата сообщения: 12.06.2005 13:20
Solnake

Цитата:
Люди, помгите сделать ConnectionString для ADOConnection.

А что за ошибка???
У меня всё работало ;)
Автор: Solnake
Дата сообщения: 12.06.2005 13:47
Tropin

Цитата:
А что за ошибка???


Цитата:
Project Roton.exe raised esception class EAccessViolation with message 'Access violation at address
004A00CF module 'Roton.exe'. Read of address 00000058'. Process stoped. Use Step or Run to continue.

Автор: vserd
Дата сообщения: 13.06.2005 11:41
ShIvADeSt

Цитата:
ExpandFilePath

она самая, спасибо!!!
Автор: kanat35
Дата сообщения: 14.06.2005 08:30
Добрый день всем
подскажите пожалуйста
вот в чем проблема я хоч сравнить время как можно реализовать
тоесть я хочу чтобы в определенное время происходил события
заранее спосибо
Автор: ShIvADeSt
Дата сообщения: 14.06.2005 08:54
kanat35
GetLocalTime и далее по хелпу пиолучаеешь время.
Автор: HelL_Doctor
Дата сообщения: 14.06.2005 09:24
Подскажит, пожалуйста. Как забивать данные в двумерный массив из файла? То есть имеется файл с данными:

1 0 1 1 1
1 1 0 1 1
0 0 1 0 1
1 1 1 1 1

И нужно его забить в массив. Не могу понять как сделать разделение через пробел.
Автор: YurikGL
Дата сообщения: 14.06.2005 10:33
Если у тебя все числа в одну цифру, то забивай через номер символа.
st:string

a[1,1]:=st[1]
a[1,2]:=st[3]
....
Автор: Tropin
Дата сообщения: 14.06.2005 17:31
HelL_Doctor

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
F: Text;
A: array [1..4, 1..5] of Byte;
i, j: Byte;

begin
AssignFile(F, 'C:\file.txt');
Reset(F);
for i:=1 to 4 do begin
for j:=1 to 5 do begin
Read(F, A[i, j]);
end;
Readln(F);
end;
CloseFile(F);
end.
Автор: FighterZP
Дата сообщения: 14.06.2005 18:15
Доброго времени суток.

Вот такая вот проблема:

каким образом мне можно послать в другую программу в ее главное окно в компонент Edit текст?
Хэндл окна я получил, кнопки жать тоже получается, но вот почему то не хочет посылаться текст:


Цитата:

wHandle:=FindWindow(nil,'Name_of_Window');
wHandle:=FindWindowEx(wHandle,0,'Edit',nil);
SendMessage (wHandle, WM_SETTEXT,0,Longint(Edit1.Text));



интересен факт, что например

wHandle:=FindWindow(nil,'Name_of_Window');
SendMessage (wHandle, WM_SETTEXT,0,Longint(Edit1.Text));

благополучно меняет название окна.

Как таки достучаться до моего EDITа?
Автор: OdesitVadim
Дата сообщения: 14.06.2005 18:48
FighterZP

Цитата:
wHandle:=FindWindowEx(wHandle,0,'Edit',nil);

Имя класа TEdit обычно, если программист не поменял.
Впрочем так тоже не хочет...
А не работает по причине, что на форме может быть несколько TEdit. Какой первым будет - винде видней.
Если писать так FindWindowEx(wHandle,0,nil,'Edit1'); - всю работает
Автор: FighterZP
Дата сообщения: 15.06.2005 09:13
OdesitVadim

попробывал твой вариант - все равно не посылается текст
я даже создал простешую програмку с одним только компонентом EDIT на форме, и попытался в это окно послать текстк в компонент EDIT. все равно не работает
в программе SW32.EXE (она встроена и в Билдер и в Делфи) попытался найти свой процесс и названия компонентво в моей тестовой программе - поиск вообще ничего не дал

может быть проблема в том что нужно посылать ДОЧЕРНЕМУ ОКНУ или , поточнее, CHILD WINDOW..... только вот как это сделать?

или даже можно следующим образом - по умолчанию при открытии формы, фокус ввода уже стоит на компоненте EDIT, и в буфере обмена Винды у меня уже хранятся необходимые для пересылки данные, нужно всего лишь нажать программно CTRL+V, что тоже не получается

---------------------

кстати, в этом же самом окне находится кнопка, ее нажать получается, следовательно, доступ к этому окну уже есть, но вот обратиться к EDIT не получается.
Автор: MrZeRo
Дата сообщения: 15.06.2005 12:25
А попробовать использовать EnumChildWindows, если Handle родительского окна найден?
Она дает ссылки на все окна, принадлежащие заданному окну.

Автор: SergeyReutov
Дата сообщения: 15.06.2005 13:25
Как можно получить данные из экселевского файла? Файл не должен быть открыт. Передать данные удается, а вот получить нет.
Автор: FighterZP
Дата сообщения: 15.06.2005 13:49
MrZeRo

если точнее описать, то я уже имею в принципе Handle нужного мне окна и запросто меняю его название на данные, которые находятся в буфере обмена.
с помошью WINSIGN32 узнал что имя компонета - EDIT ......
дальше - полный мрак, грамматика правильная, результата ноль!
Автор: OdesitVadim
Дата сообщения: 15.06.2005 15:09
SergeyReutov
Как же ты передаёш Excel, если документ не открыт? В любом случае его прийдётся открыть (даже через AssignFile Reset). Наиболее просто - через СОМ технологию. Есть правда библиотека для работы с Excel напрямую, но лучше не рисковать.
FighterZP
Я пример свой потестировал - работает.
Попробуй вставить проверку на хендл. Если больше 0, то нормально (для Винды практически он должен быть не менне нескольких тысяч). Если он равен 0 - то плохо.
Автор: SergeyReutov
Дата сообщения: 15.06.2005 15:23
OdesitVadim
Через шаблон. Открываешь шаблон и передаешь в него все данные, потом сохраняешь под другим именем.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Вероятность одинакового CRC32


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