Closed TopicStart new topicStart Poll

Страницы: (3) 1 2 3 
KOsyak
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 316
  • Статус: %username%
  • Member OfflineПара М+ЖВ поиске
1 faq, а дальше уже по мере надобности использовать... бо весь API асилить - реально конечно, но зачем?

А объявление и примеры использования есть уже в хелпе языка как правило... pardon.gif

кстати могу хороший faq помимо предложить - www.ya.ru ...

Gorjie
дата: [ i ]
  • *
  • Профессионал
  • Репутация: 855
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
У меня возник вопрос - как уменьшить мерцание в форме в Dеlphi при полной перерисовке и что такое реализация обратной связи?
закройщик
дата: [ i ]
  • *
  • Профессионал
  • Репутация: 138
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаЖенат
QUOTE (nechik @ 23.05.2006 - время: 12:59)
Есть какой-нибудь софт, чтобы задать комбинацию клавиш и он в определённом порядке и определённое количество раз пронажимал это вместо меня?
Уже с ума схожу, удаляю позиции в базе(74295), 30000 уже удалил, дальше нервов нехватает.
ПОМОГИТЕ!!!!

да, есть Iolo MacroMagic тебе поможет. Он и мышку двигает и печатает и стирает и вообще ВСЕ делает ))
На сайте www.iolo.com его найдешь, а вот с креком незнаю как тебе быть
RoyalFlesh
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 85
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (osob @ 26.03.2006 - время: 19:10)
2. Как сделать скролинг текста, ну чтобы титры бежали

Стандартными компонентами Дельфи можно сделать примерно так...
На форму вставляем панель Panel1, относительно которой будет проводится скроллинг и таймер Timer1 для задания интевала "прокрутки"...
Сам "бегущий" текст можно организовать с помощью меток (TLabel) или Мемо (TMemo)...
В оброботчике события OnTimer компонента Timer1 меняем значение свойства Top сщщтветствуюших компонентов, примерно как в следующем коде...
CODE

procedure TfmMain.Timer1Timer(Sender: TObject);
begin
// Label1 и Label2 "прокручиваются" вниз по панели Panel1
Label2.Top := ((Label2.Top+1) mod Panel1.Height);
Label1.Top := ((Label1.Top+1) mod Panel1.Height);
// Memo1 "прокручивается" вверх по панели Panel1
Memo1.Top := Memo1.Top-1;
if Memo1.Top = (0-Memo1.Height) then Memo1.Top := Panel1.Height;
end;


RoyalFlesh
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 85
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (Leon161 @ 07.04.2006 - время: 20:23)
Вопрос: а как мне быть, если моя переменная уже строкового типа?
Просто подставить её не получается - просто не работает. Вот это не работает:

Table1.Filter :='Otd=''Label4.Caption''';

QUOTE (xTriplex)
Table1.Filter :='Otd='+Label4.Caption

Могу добавить только, что если параметр фильтрации Otd имеет строковой тип, то условие записывается в виде:

Table1.Filter :='Otd='''+Label4.Caption+''''

-=Велла=-
дата: [ i ]
  • Group Icon
  • Акула пера
  • Репутация: 2775
  • Статус: Паникёрша и скандалистка )))
  • Member OfflineЖенщинаСвободна
Вопрос.
Пишу на Делфи.

Есть поле Edit. Требуется взять из него значение таким образом, чтобы текст, написанный в нем корректно отображался в DOS'е, а то получаются кракозяблины. Содержимое этого поля записывается в файл. Как перекодировать в DOS кодировку содержимое поля...
Модест
дата: [ i ]
  • *
  • Интересующийся
  • Репутация: 9
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
1) AnsiToOEM(Edit.text)
2) в свойствах эдита выбрать нужную кодировку (не пробовал)
-=Велла=-
дата: [ i ]
  • Group Icon
  • Акула пера
  • Репутация: 2775
  • Статус: Паникёрша и скандалистка )))
  • Member OfflineЖенщинаСвободна
QUOTE (Модест @ 03.07.2006 - время: 12:32)
1) AnsiToOEM(Edit.text)
2) в свойствах эдита выбрать нужную кодировку (не пробовал)

Нет.. тоже самое получается..
Unknown_Identifier
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 199
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (-=Велла=- @ 03.07.2006 - время: 10:36)
Как перекодировать в DOS кодировку содержимое поля...

Посимвольно.
В нете можно найти таблицу перекодировки (например, взять из DOS Navigator'а). Впрочем там очень простая замена, можно воспользоваться такой функцией:
CODE

function ConvertFromWindows(ch:char):char;
 var
  b:byte;
 begin
  b:=byte(ch);
  if (b>=192) and (b<=239) then b:=b-64
  else
  if (b>=240) and (b<=255) then b:=b-16
  else
  if b=168 then b:=240
  else
  if b=184 then b:=241;
  result:=chr(b);
 end;

RoyalFlesh
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 85
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
Я для таких целей использую следующую функцию:
CODE
function DosToWin(St: string): string;
var
 Ch: PChar;
begin
 Ch := StrAlloc(Length(St) + 1);
 OemToAnsi(PChar(St), Ch);
 Result := Ch;
 StrDispose(Ch)
end;

Функция StrAlloc и процедура StrDispose находятся в модуле SysUtils,
а OemToAnsi - в Windows...
Модест
дата: [ i ]
  • *
  • Интересующийся
  • Репутация: 9
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (-=Велла=- @ 03.07.2006 - время: 12:44)
QUOTE (Модест @ 03.07.2006 - время: 12:32)
1) AnsiToOEM(Edit.text)
2) в свойствах эдита выбрать нужную кодировку (не пробовал)

Нет.. тоже самое получается..

Значит криво пользуешь )
Вышеупомянутый способ + обратно
function WinToDos(St:string):string;
var Ch:PChar;
begin
Ch:=StrAlloc(Length(St)+1);
AnsiToOem(PChar(St),Ch);
Result:=Ch;
StrDispose(Ch)
end;

function DosToWin(St:string):string;
var Ch:PChar;
begin
Ch:=StrAlloc(Length(St)+1);
OemToAnsi(PChar(St),Ch);
Result:=Ch;
StrDispose(Ch)
end;
RoyalFlesh
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 85
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
Согласен с Модест...
В суть вопроса сразу не вник, вот и указал не ту функцию...
Хотя сам для перекодировки DOS <-> WindowS пользуюсь именно ими... обеими...
xTriplex
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 269
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
Вот это работает 100%...в принципе как и у всех остальных...
........................................................
var N: PChar;
...
Memo1.Lines.LoadFromFile('dos.txt');
N := Memo1.Lines.GetText;
OemToAnsi(N, N);
Memo1.Lines.Text := StrPas(N);
........................................................

-=Велла=-
дата: [ i ]
  • Group Icon
  • Акула пера
  • Репутация: 2775
  • Статус: Паникёрша и скандалистка )))
  • Member OfflineЖенщинаСвободна
Ребята, спасибо за ответы.. я пока не все, но попробовала.. но нифига не получилось 0086.gif
А вот такой вопрос: а если есть файл формата .xls , составленный в Excel, как из него взять данные нужные и потом в текстовый файл преобразовать? Или может в какой компонент можно загрузить в виде таблицы и из компонента их брать?
сорри, если не ясно выражаюсь..
xTriplex
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 269
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (-=Велла=- @ 12.07.2006 - время: 17:40)
Ребята, спасибо за ответы.. я пока не все, но попробовала.. но нифига не получилось 0086.gif
А вот такой вопрос: а если есть файл формата .xls , составленный в Excel, как из него взять данные нужные и потом в текстовый файл преобразовать? Или может в какой компонент можно загрузить в виде таблицы и из компонента их брать?
сорри, если не ясно выражаюсь..

1 - преобразования замечательно работают...не поленился прям щас запустил Delphi...вот те полный код унитки...лично проверил - РАБОТАЕТ!!!

CODE
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
function WinToDos(St:string):string;
var Ch:PChar;
begin
Ch:=StrAlloc(Length(St)+1);
AnsiToOem(PChar(St),Ch);
Result:=Ch;
StrDispose(Ch)
end;
begin
Edit1.Text := WinToDos(Edit1.Text);

end;

end.






2 - Есть такая штука, как ExcelWorkbook и иже с ними на вкладке Servers...почитай к ним хэлп...там все написано...можно в принципе и через макрос...это на любителя...

Удачи в твоем нелегком деле.
-=Велла=-
дата: [ i ]
  • Group Icon
  • Акула пера
  • Репутация: 2775
  • Статус: Паникёрша и скандалистка )))
  • Member OfflineЖенщинаСвободна
Спасибо, буду пробовать... у меня теперь целый месяц впереди.. ))
WILD_STRANGER
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 289
  • Статус: Давай !
  • Member OfflineМужчинаСвободен
Вопросик! Может кто с лета ответит ... я ж блин замучался )
Суть:
Есть страничка с расширением .SHTML (SSI) в нее включена вот такая вставка
<!--#include virtual="/cgi-bin/rtest.pl?C=1296&R=956&HRes=218"-->

Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...
дата: [ i ]
  • Unregistered
  • Статус:
  • Свободен
QUOTE (WILD_STRANGER @ 22.07.2006 - время: 05:21)
Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...

Ээээ... Язык? Где получить?
WILD_STRANGER
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 289
  • Статус: Давай !
  • Member OfflineМужчинаСвободен
QUOTE (JeyLo @ 22.07.2006 - время: 13:17)
QUOTE (WILD_STRANGER @ 22.07.2006 - время: 05:21)
Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...

Ээээ... Язык? Где получить?

Perl ...
на странице вставки...
Jukss
дата: [ i ]
  • *
  • Новичок
  • Репутация: нет
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
Вопрос насчет печати отчетов в delphi 7 с помощью Rave Report. Вместо русских букв отображается какая-то ерунда. Причем только в работающей программе, а в предварительном просмотре Rave Designer все нормально.
Модест
дата: [ i ]
  • *
  • Интересующийся
  • Репутация: 9
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
либо шрифт виноват, либо кодировка. Покрути соотв. св-ва компонентов.
xTriplex
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 269
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (Jukss @ 13.08.2006 - время: 03:02)
Вопрос насчет печати отчетов в delphi 7 с помощью Rave Report. Вместо русских букв отображается какая-то ерунда. Причем только в работающей программе, а в предварительном просмотре Rave Designer все нормально.

Это шрифт...вероятнее ввсего набор символов (не Кирилица, а допустим Американский)....ищи там...
Еремей Ежов
дата: [ i ]
  • *
  • Новичок
  • Репутация: нет
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
братья-сишники! кто имеет информацию о классе CCompressedFile ? где добыть исходник и как подключить к программе ?
xTriplex
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 269
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
Братья компутерщики...пара вопросов..


Вопрос номер 1

Суть задачи...мне надо из изображения размером Х на У сделать 3 массива раземром [Х, У] в каждом из которых находиться данные о R, G и B составляющей цвета...

Формат файла - первые 8 байт - значение Х и У
Затем массив байт R
затем G
затем В

Вот мой код...

procedure TfrmMain.btnCreateArray1Click(Sender: TObject);
Var F : File;
X, Y : Integer;
W, H : Integer;

begin

If Not SaveDlg1.Execute Then Exit;

AssignFile(F, SaveDlg1.FileName+'.rgb');
ReWrite(F);

W := img1.Picture.Width;
H := img1.Picture.Height;

BlockWrite(F, W, 4);
BlockWrite(F, H, 4);

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
// ClrConverter -зто компонент для разложения цвета на RGB составляющие
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.R, 1);
End;

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.G, 1);
End;

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.B, 1);
End;

CloseFile(F);
end;

Вроде все так...но...суть проблемы в том, что файл для картинки размером 352х288 пикселей получаеться размером 38 929 408 байт...хотя должен быть 8+352*288*3 = 304 136 байт...

При просмотре файла там часто повторяються куски типа "352x28    saveDlg1"

В чем проблема????



И вопрос номер 2


Вот кусок кода с обратным преобразованием из массивов в картинку...

procedure TfrmMain.btnLoadArray2Click(Sender: TObject);
Var F : File;
W, H, X1, Y1 : Integer;
R, G, B : Byte;
begin

If Not OpnDlg2.Execute Then Exit;

AssignFile(F, OpnDlg2.FileName);
Reset(F);
BlockRead(F, W, 4);
BlockRead(F, H, 4);

img2.Width := W;
img2.Height := H;

For Y1 := 0 To H-1 Do
For X1 := 0 To W-1 Do
Begin
ClrConverter.Color := 0;
BlockRead(F, R, 1);
ClrConverter.R := R;
Application.ProcessMessages;
img2.Canvas.Pixels[X1, Y1] := ClrConverter.Color;
End;

..............

И суть проблемы...

Значения Width и Height читаються из файла нормально (смотрел при отладке)...

А в цикле получаеться, что Y1=32 тысячи с копейками (точно не помню)...

При замене вот этого кода

For Y1 := 0 To H-1 Do
For X1 := 0 To W-1 Do

Вот этим

For Y1 := 0 To 287 Do
For X1 := 0 To 351 Do

Считывает без проблем...но мне эт не надо...мне надо читать значения ширины и высоты именно из файла...

В чем проблема???


Заранее спасибо за помощь...

xTriplex
дата: [ i ]
  • Group Icon
  • Мастер
  • Репутация: 269
  • Статус: Давай пообщаемся!
  • Member OfflineМужчинаСвободен
QUOTE (xTriplex @ 07.11.2006 - время: 00:49)
Братья компутерщики...пара вопросов..


Вопрос номер 1

Суть задачи...мне надо из изображения размером Х на У сделать 3 массива раземром [Х, У] в каждом из которых находиться данные о R, G и B составляющей цвета...

Формат файла - первые 8 байт - значение Х и У
Затем массив байт R
затем G
затем В

Вот мой код...

procedure TfrmMain.btnCreateArray1Click(Sender: TObject);
Var F : File;
X, Y : Integer;
W, H : Integer;

begin

If Not SaveDlg1.Execute Then Exit;

AssignFile(F, SaveDlg1.FileName+'.rgb');
ReWrite(F);

W := img1.Picture.Width;
H := img1.Picture.Height;

BlockWrite(F, W, 4);
BlockWrite(F, H, 4);

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
// ClrConverter -зто компонент для разложения цвета на RGB составляющие
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.R, 1);
End;

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.G, 1);
End;

For Y := 0 To H - 1 Do
For X := 0 To W - 1 Do
Begin
ClrConverter.Color := img1.Canvas.Pixels[X,Y];
BlockWrite(F,ClrConverter.B, 1);
End;

CloseFile(F);
end;

Вроде все так...но...суть проблемы в том, что файл для картинки размером 352х288 пикселей получаеться размером 38 929 408 байт...хотя должен быть 8+352*288*3 = 304 136 байт...

При просмотре файла там часто повторяються куски типа "352x28    saveDlg1"

В чем проблема????



И вопрос номер 2


Вот кусок кода с обратным преобразованием из массивов в картинку...

procedure TfrmMain.btnLoadArray2Click(Sender: TObject);
Var F : File;
W, H, X1, Y1 : Integer;
R, G, B : Byte;
begin

If Not OpnDlg2.Execute Then Exit;

AssignFile(F, OpnDlg2.FileName);
Reset(F);
BlockRead(F, W, 4);
BlockRead(F, H, 4);

img2.Width := W;
img2.Height := H;

For Y1 := 0 To H-1 Do
For X1 := 0 To W-1 Do
Begin
ClrConverter.Color := 0;
BlockRead(F, R, 1);
ClrConverter.R := R;
Application.ProcessMessages;
img2.Canvas.Pixels[X1, Y1] := ClrConverter.Color;
End;

..............

И суть проблемы...

Значения Width и Height читаються из файла нормально (смотрел при отладке)...

А в цикле получаеться, что Y1=32 тысячи с копейками (точно не помню)...

При замене вот этого кода

For Y1 := 0 To H-1 Do
For X1 := 0 To W-1 Do

Вот этим

For Y1 := 0 To 287 Do
For X1 := 0 To 351 Do

Считывает без проблем...но мне эт не надо...мне надо читать значения ширины и высоты именно из файла...

В чем проблема???


Заранее спасибо за помощь...

Ребят...помогите плиз....
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)

Страницы: (3) 1 2 3

Closed TopicStart new topicStart Poll0


Рекомендуем почитать также топики:

Зарядка планшета.. Проблема.

GT Legends

как такое может быть?

Windows 95

Что лучше?



>