Magic Team

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Magic Team » Программирование » Delphi


Delphi

Сообщений 1 страница 30 из 149

1

Старые сообщения тут http://magicteam.fastbb.ru/index.pl?1-4 … 18-000-0-0
--------------------------------------------------------------------------------

Guyver пишет:
цитата
--------------------------------------------------------------------------------
П.С. что-то у меня делфи на юникод ругается - это отдельная примочка??? Где её скачать???
--------------------------------------------------------------------------------

Компонент Unicode Controls
http://www.delphi32.com/vcl/483/download,xid,483.asp

0

2

Где взять исходники VCL седьмой Делфи?

0

3

Исходники VCL поставляются вместе с Delphi.

0

4

Nick написал(а):

Исходники VCL поставляются вместе с Delphi.

Угу. Я - мудак.
Просто у меня неполная установка Делфи :)

0

5

У меня новый вопрос, касаемый синхронизации прокрутки двух Мемо:

procedure TMainForm.ScrollBar1Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
ScrollBar2.Position:=ScrollPos;
end;

procedure TMainForm.ScrollBar2Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
ScrollBar1.Position := ScrollPos;
end;

Это если у меня созданы 2 скроллбара в каждой Меме, а если я их не создавал, если у меня стандартные 2 вертикальных скроллбара (я им не задавал никаких свойств, они есть по умолчанию) - можно ли как-то к ним обратиться? На программном уровне? Есть идеи - или может у меня подход не тот совсем... Может синхронизации прокрутки можно добиться по-другому, например перемещая курсор с одной Мемы на другую, а потом обратно... или ещё как нибудь??? Хелп...

0

6

У меня новый вопрос, касаемый синхронизации прокрутки двух Мемо:

procedure TMainForm.ScrollBar1Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
ScrollBar2.Position:=ScrollPos;
end;

procedure TMainForm.ScrollBar2Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
ScrollBar1.Position := ScrollPos;
end;

Это если у меня созданы 2 скроллбара в каждой Меме, а если я их не создавал, если у меня стандартные 2 вертикальных скроллбара (я им не задавал никаких свойств, они есть по умолчанию) - можно ли как-то к ним обратиться? На программном уровне? Есть идеи - или может у меня подход не тот совсем... Может синхронизации прокрутки можно добиться по-другому, например перемещая курсор с одной Мемы на другую, а потом обратно... или ещё как нибудь??? Хелп...

0

7

У меня новый вопрос, касаемый синхронизации прокрутки двух Мемо:

// procedure TMainForm.ScrollBar1Scroll(Sender: TObject;
// ScrollCode: TScrollCode; var ScrollPos: Integer);
// begin
// ScrollBar2.Position:=ScrollPos;
// end;

// procedure TMainForm.ScrollBar2Scroll(Sender: TObject;
// ScrollCode: TScrollCode; var ScrollPos: Integer);
// begin
// ScrollBar1.Position := ScrollPos;
// end;

Это если у меня созданы 2 скроллбара в каждой Меме, а если я их не создавал, если у меня стандартные 2 вертикальных скроллбара (я им не задавал никаких свойств, они есть по умолчанию) - можно ли как-то к ним обратиться? На программном уровне? Есть идеи - или может у меня подход не тот совсем... Может синхронизации прокрутки можно добиться по-другому, например перемещая курсор с одной Мемы на другую или ещё как нибудь??? Хелп...

0

8

У меня новый вопрос, касаемый синхронизации прокрутки двух Мемо:

У меня прокрутка получается, если создавать 2 скроллбара отдельно, а если я их не создавал, если у меня стандартные 2 вертикальных скроллбара (я им не задавал никаких свойств, они есть по умолчанию) - можно ли как-то к ним обратиться? На программном уровне? Есть идеи - или может у меня подход не тот совсем... Может синхронизации прокрутки можно добиться по-другому, например перемещая курсор с одной Мемы на другую или ещё как нибудь??? Хелп...

0

9

скачал компонент Unicode Control
ругается что нет vcl40
в моей Delphi 5 есть только vcl50
В нете такой нет, я не нашел.
как быть.

Отредактировано chiefexb (2006-03-15 18:14:37)

0

10

Старый наверно какой-то. У меня на Delphi 6 пашет.

0

11

Делфи 5

0

12

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

0

13

ОК, попробую, но тут не знаю как быть. Компонент в dcu?

0

14

Не отредактируешь, исходников то нет. Лучше поставь Delphi 6

0

15

ок попробую.

0

16

Поставил семь таже песня хочет *.pas файлы модулей, пробовал заменть в пакете, в файле *.dsk не помогло ссылок на них уже нет. А компиллер их требует.

0

17

Поставь тогда лучше TntUnicodeControls, если у тебя XP

0

18

Djinn написал(а):

Поставь тогда лучше TntUnicodeControls, если у тебя XP

Где скачать этот компонент.

0

19

http://www.tntware.com/delphicontrols/unicode/

0

20

Djinn на старом форуме писал про используемые им функции перевода hex2int и int2hex.
А у меня вопрос: чем не устраивает стандартная функция:
inttohex(var l,n:integer;):string;
где l - переменная, n - длина получаемой строки?

А в функции hex2int нужно кое-что исправить:

Код:
Function Hex2Int(Hex:String):LongWord; 
Var 
i:byte; 
Res, Stp:LongWord; 
Tmp:Byte; 
Begin 
Res:=0; 
Stp:=1; 
For i:=Length(Hex) downto 1 do 
Begin 
Case Hex[i] of   // вот в этой строке :-)
'A','a' : Tmp:=10; 
'B','b' : Tmp:=11; 
'C','c' : Tmp:=12; 
'D','d' : Tmp:=13; 
'E','e' : Tmp:=14; 
'F','f' : Tmp:=15 
Else Tmp:=StrToInt(Hex); 
End; 
Res:=Res+Tmp*Stp; 
Stp:=Stp*16; 
End; 
Hex2Int:=Res; 
End;

P.S.:про функцию - это прикол, я понял, что это BBCode глючит. :-)

0

21

Ой, нифига себе, из-за глюка форума появилось четыре поста, извините и удалите их пожалуйста (вместе с этим постом)

0

22

Эти функции писал не я. Сам использую стандартный IntToHex и самописный HexVal.

0

23

У меня такая трабла...

Есть txt файл, в нём 3 куска текста, которые разделены спец. знаками, например:

Мама мыла мылом раму

(о)

Мыло упало

<:>

Рама осталась немытой

Как мне при открытии этого текстового файла запихать 1 кусок текста в Мемо1, второй в Мемо2, а третий ещё куда-нить, ну в ричэдит например... При этом спец. знаки не должны отображаться, И как соответственно всё это потом сохранить обратно в текстовой файл (при изменении информации в какой-то из трёх частей)...

ХЕЛП!!!

0

24

Здравствуйте, люди!!!

Помогите мне пожалуйста в одном вопросе... Сам я что-то не догоняю...

Дело вот в чём:

Есть у меня текстовой файл link.txt такого вида:

Сайт перевода приставочных игр GUYVERперевод
http://guyverperevod.narod.ru

Сайт о творчестве Когодовского О.А.
http://veroh.narod.ru

Синегорский сайт Хорева М.И.
http://sinegorie-horev.narod.ru

и т.д.

Есть на форме компонент ListBox1, в который я всё это загружаю:

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.Items.LoadFromFile('link.txt');
end;

Теперь в ListBox1 у меня появился текст, и мне надо, что бы при
нажатии мышкой на ссылку, происходила загрузка этой ссылки через
интернет Эксплорер, делаю я это примерно так:

procedure TForm1.ListBox1Click(Sender: TObject);
var n: String;
i: Integer;
  begin
   for i:= 0 to ListBox1.Items.Count-1 do
   if  ListBox1.Selected[i] then
   n := ListBox1.Items[i];   - вот тут я не могу присвоить n текст выделенного поля ListBox1...
ShellExecute(Application.Handle,'open',n,nil,nil,0);
end;

Конечно же всё это не работает, так как я не представляю, как
получить в переменную текст того поля, по которому я кликаю в
ListBox1, а потом подставить эту переменную в ShellExecute для
открытия ссылки...

Помогите мне пожалуйста!!!

0

25

Просто в листбоксе это не сделаешь, нужно скачать специальный компонент, поддерживающий линки.

0

26

А я сделал: (2 дня мучений)

procedure TForm1.ListBox1Click(Sender: TObject);
var n: String;
i: Integer;
begin
for i:= 0 to ListBox1.Items.Count-1 do
if  ListBox1.Selected[i] then
n := ListBox1.Items[ListBox1.ItemIndex];
if n <> '' then
if z <> 1 then
ShellExecute(GetDesktopWindow(), 'open', PChar(n), nil, nil, SW_SHOW);

Теперь если у меня текст ссылка - то всё открывается, если просто текст или пустое место - ничего не происходит...  Вот это -  PChar(n) - я долго не мог допереть, поэтому и не работало...

А как на счёт верхнего вопроса - никто не поможет?

0

27

Ну то вообще легко.
Var S: String; Strings: TStrings; I: Integer;
begin
Strings := TStringList.Create;
Strings.LoadFromFile('Text.txt');
If Strings.Count > 0 then
begin
  I := 0;
  Repeat
   S := Strings.Strings[i];
   Inc(I);
   If S = '(o)' then Break;
   If S <> '' then Memo1.Lines.Add(S);
  Until False;
  Repeat
   If I < Strings.Count then Break;
   S := Strings.Strings[i];
   If S = '<:>' then Break;
   If S <> '' then Memo2.Lines.Add(S);
  Until False;
  Repeat
   If I < Strings.Count then Break;
   S := Strings.Strings[i];
   If S <> '' then Memo3.Lines.Add(S);
  Until False;
end;
end;

0

28

Спасибо - пойду смотреть...
Теперь нужно научиться сохранять это всё в 1 файл вместе со знаками... Надеюсь получится...

0

29

Чёт не работает, добавляет весь текст в Мемо3, хоть ты тресни... Надо подумать...

0

30

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

procedure TForm1.Button2Click(Sender: TObject);

Var S: String; Strings: TStrings; I: Integer;

begin
Strings := TStringList.Create;
Strings.LoadFromFile('Text.txt');
If Strings.Count > 0 then
begin

Memo1.Clear;
Memo2.Clear;
ListBox1.Clear;

  I := 0;
  Repeat
   S := Strings.Strings[i];
   Inc(I);
   If S = '*Конец блока с текстом*' then Break;
   Memo1.Lines.Add(S);
  Until False;

  Repeat
   S := Strings.Strings[i];
   Inc(I);
   If S = '*Конец блока с информацией*' then Break;
   Memo2.Lines.Add(S);
  Until False;

  Repeat
   S := Strings.Strings[i];
   Inc(I);
   If S = '*Конец блока с ссылками*' then Break;
   ListBox1.Items.Add(S);
  Until False;

end;
end;

Джин, помоги с сохранением всего этого в txt файл (вместе со спец. знаками) - у меня не получается что-то...

Отредактировано guyver (2006-05-19 01:26:15)

0


Вы здесь » Magic Team » Программирование » Delphi