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

» Вопросы по Delphi (все версии) - часть 4

Автор: ShIvADeSt
Дата сообщения: 22.12.2008 07:58
delover

Цитата:
Я так же смущён вопросами по поводу PNG, так как подозреваю что Интернет Экспорер показывает такие катинки без труда и значит ничего не мешает просто положить TWebBrowser на формочку. Кода ноль, а кодаки самые поддержаные получатся

Попробуй на чистом АПИ положить TWebBrowser на формочку я посмотрю как там кода ноль будет. У него нет TForms, одни CreateWindow или DialogBox. Туда очень плохо компоненты ложатся На самом деле PNG поддерживается виндой, трабла в другом (читай внимательно в след раз) - если грузить пнгу из файла, то все ок, а если пнга в ресурсе - то не грузится напрямую. И это действительно странно, что так криво реализовано.
ЗЫ, гифчики не кошерны
Автор: fcdobpiy
Дата сообщения: 22.12.2008 08:05
lamber
попробуй прописать полный путь
TreeView1.LoadFromFile(MyDir+'\math.txt');
как то так
да и из листинга не понятно чему равно MyDir

Автор: delover
Дата сообщения: 22.12.2008 09:02
lamber
Не надо таких длинных постов. По моему Вам следует присмотреться к функции ForceDirectory(ExtractFileDir(FullFileName));
Автор: lamber
Дата сообщения: 22.12.2008 09:06
fcdobpiy

М-да как раз думал привести листинг этого или нет, MyDir равна CurrentDir() при рисовании окна вот код собсно


Код:
procedure TForm2.FormCreate(Sender: TObject);
begin
MyDir:=GetCurrentDir();
end;
Автор: delover
Дата сообщения: 22.12.2008 09:16
lamber
Просто так не долко и запутаться

Код: [no]
CreateDir(TreeView1.Items[i].Text);
...
FileCreate(TreeView1.items[i].text + '.txt');[/no]
Автор: lamber
Дата сообщения: 22.12.2008 09:28
delover

Я только разбираюсь с языком спасибо за совет, но основная проблема все таки в том что программа отказывается читать файлы.

Вот уже и абсолютные пути заменил и все равно никак

for i:= 0 to (TreeView1.Items.Count - 1) do
begin
//SetCurrentDir('database');
SetCurrentDir(MyDir+'database'+TreeView1.Items[i].Text);
Cur:=TreeView1.Items[i].text;
Cur:=Cur+'.txt';
AssignFile(t,Cur);
Reset(t);
while not eof(t) do

while not eoln(t) do
begin
st:='';
Readln(t,str);
if pos(st,str) <> 0 then
begin
memo1.Lines.Add(TreeView1.Items[i].Text);
TreeNode:=TreeView1.Items[i];
while TreeNode.Parent <> nil do
begin
memo2.Lines.Add(TreeNode.Parent.Text);
TreeNode:=TreeNode.Parent;
end;
end;

end;

Может дело в Винде из-за то что программа в цикле столько файлов открывает ну типа там Делай поставить (конечно это бредовое предположение, но я уже не знаю что делать).
Автор: V1s1ter
Дата сообщения: 22.12.2008 10:37
lamber

Цитата:
Я только разбираюсь с языком спасибо за совет, но основная проблема все таки в том что программа отказывается читать файлы


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

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

если проект на большой могу сегодня (22.12) посмотреть (безвозмездно), завтра и делее буду занят, если интересно пиши в ПМ.
Автор: RSoFT1978
Дата сообщения: 22.12.2008 12:15
lamber
Дело не в винде.
SetCurrentDir(MyDir+'database'+TreeView1.Items[i].Text); - Не надо забывать про символ "\" при задании пути.
А строчки while not eoln(t) do и st:=''; здесь явно лишние.
Убери их, а если не заработает, то проверь при пошаговом выполнении какие строки не срабатывают.
Автор: greenpc
Дата сообщения: 22.12.2008 14:13
lamber
так для проверки
после Cur:=Cur+'.txt';
ShowMessage(ExpandFileName(Cur));
и соотвественно в конце кто будет делать CloseFile(t)
Автор: delover
Дата сообщения: 22.12.2008 14:51
lamber
Да и что такое str? По моему это всегда было стандартным оператором паскаля по получению строкового вида числового значения к примеру так S := STR(R:2,2); точно не помню, лень.
Автор: greenpc
Дата сообщения: 22.12.2008 15:01
delover
var
str:string;

перекрывает ф-цию
Автор: SReg84
Дата сообщения: 22.12.2008 17:49
Подскажите как можно реализоавть чтобы при вызове процедуры Button1.Click открывался лоток привода CD, а при повторном нажатии на эту же кнопку - закрывался и т.д.
Заранее благодарю.
Автор: art0123
Дата сообщения: 22.12.2008 17:58
SReg84 Почитай здесь...[more]
В uses нужно сначала объявить модуль MMSystem:


Код: uses
MMSystem;
Автор: SReg84
Дата сообщения: 22.12.2008 18:25
art0123
Да, спасибо, но это немного не то, что мне нужно...
Необходимо, что бы использовалась одна кнопка!
Автор: f3ka
Дата сообщения: 23.12.2008 10:52
SReg84 можно использовать какую то переменную-флаг...
в ButtonClick пишешь
if <переменная-флаг поднят> then Open
else Close
все...
Автор: delover
Дата сообщения: 23.12.2008 12:55
greenpc

Цитата:
var
str:string;

перекрывает ф-цию

Ест-но ф-цию перекрывает. А не подскажете в этом случае чемиу я получу
System.Pos(st, System.Str(x, s123) )?
Автор: greenpc
Дата сообщения: 23.12.2008 13:01
delover
ключевое слово
Цитата:
System.
надеюсь дальше мысль ясна ?

Автор: diodio
Дата сообщения: 23.12.2008 13:48
И снова извините за детский вопрос.
Какие свойства отвечают за визуальное оформление различных баттонов, заголовков табшитов и проч в стиле windows XP?
Подсмотрел в исходниках книги "Delphi для профессионалов" (проект Pages.dpr, если у кого есть) - там обычные кнопки и закладки после запуска приобретают форму Win XP - но как? Я так и не догадался...
Спасибо.
Автор: greenpc
Дата сообщения: 23.12.2008 14:12
diodio если стандартные, то скорее всего TXPManifest
Автор: Frodo_Torbins
Дата сообщения: 23.12.2008 14:18
diodio
Модуль XPMan в uses надо добавить.
Автор: diodio
Дата сообщения: 23.12.2008 14:28
2 greenpc, Frodo_Torbins

Спасибо огромное! ) А я, блин, столько времени потратил
Автор: delover
Дата сообщения: 23.12.2008 14:59
greenpc
Ест-но. Просто немного жаль старых времён writeln-а. Был такой компьютер, назывался Роботрон, и был у него экран зелёно-чёрный, и можно было сделать текстом типо вместо графики так чтоб буквы моргали. Вот ж)
Автор: delover
Дата сообщения: 24.12.2008 07:55
diodio
А можно написать и {$R WindowsXP.res}. Так наверное корректнее будет, чем имя модуля XPMan сохранять в EXE.
Автор: deks
Дата сообщения: 24.12.2008 09:25
delover

ну исходный текст XPMan.pas поражает просто своим содержанием! не особо много люди накодировали то там.. кому любопытно - гляньте! тупо объявлен класс и вставлен ресурс.
Автор: ShIvADeSt
Дата сообщения: 24.12.2008 09:49
deks

Цитата:
ну исходный текст XPMan.pas поражает просто своим содержанием! не особо много люди накодировали то там.. кому любопытно - гляньте! тупо объявлен класс и вставлен ресурс.

Потому что основной код вынесен в код контролов. А раньше была подмена оконных функций контролов (почти всех) и собственная отрисовка если было необходимо использовать тему.
Автор: delover
Дата сообщения: 24.12.2008 13:46
ShIvADeSt
Кстати не знаете в чём может быть фокус? Дома недавно купленная лицензионная виста. На Delphi 2006 архитект тоже лицензия. Никогда проблемм с D6 (не 2006) не было. Теперь вот на висте у меня сообщение читаю при каждом запуске, что мол программа плохо работает из-за несовместимости. Однако после сообщения запускается и работает вроде нормально. И странно что D5 такого сообщения не выдаёт. А вот D6/D7 ругает. Кстати если прикрутить манифест к D7 то сообщение вроде другое, а к D6 не прикручивается, выдаёт екзепшен, может из-за этого?
Автор: Gashikus
Дата сообщения: 24.12.2008 14:08
Подскажите как сделать так, что б listbox автоматически прокручивался, когда появляются строки?
Автор: afiget
Дата сообщения: 24.12.2008 14:34
Gashikus
TopIndex
ScrollBy
Автор: greenpc
Дата сообщения: 24.12.2008 15:15
Gashikus
lst1.ItemIndex := lst1.Items.Add('test');
фокус на добавленную строку
Автор: Gashikus
Дата сообщения: 24.12.2008 22:09
спасибо за ответы!

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Глобальные переменные в разных формах с++ builder 'a.


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