ВОПРОС - ОТВЕТ

-=Велла=-
7/13/2006, 4:46:57 AM
Спасибо, буду пробовать... у меня теперь целый месяц впереди.. ))
WILD_STRANGER
7/22/2006, 9:21:20 AM
Вопросик! Может кто с лета ответит ... я ж блин замучался )
Суть:
Есть страничка с расширением .SHTML (SSI) в нее включена вот такая вставка
<!--#include virtual="/cgi-bin/rtest.pl?C=1296&R=956&HRes=218"-->

Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...
DELETED
7/22/2006, 5:17:17 PM
(WILD_STRANGER @ 22.07.2006 - время: 05:21) Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...
Ээээ... Язык? Где получить?
WILD_STRANGER
7/24/2006, 5:32:14 PM
(JeyLo @ 22.07.2006 - время: 13:17) (WILD_STRANGER @ 22.07.2006 - время: 05:21) Как мне получить QUERY_STRING для вставки, а не для всей страницы, проблема возникла со сменой сервера, на предьидущем было как нада ...
Ээээ... Язык? Где получить?
Perl ...
на странице вставки...
Jukss
8/13/2006, 7:02:44 AM
Вопрос насчет печати отчетов в delphi 7 с помощью Rave Report. Вместо русских букв отображается какая-то ерунда. Причем только в работающей программе, а в предварительном просмотре Rave Designer все нормально.
Модест
8/14/2006, 5:52:53 PM
либо шрифт виноват, либо кодировка. Покрути соотв. св-ва компонентов.
xTriplex
8/15/2006, 4:13:59 AM
(Jukss @ 13.08.2006 - время: 03:02) Вопрос насчет печати отчетов в delphi 7 с помощью Rave Report. Вместо русских букв отображается какая-то ерунда. Причем только в работающей программе, а в предварительном просмотре Rave Designer все нормально.
Это шрифт...вероятнее ввсего набор символов (не Кирилица, а допустим Американский)....ищи там...
Еремей Ежов
10/4/2006, 5:03:26 PM
братья-сишники! кто имеет информацию о классе CCompressedFile ? где добыть исходник и как подключить к программе ?
xTriplex
11/7/2006, 3:49:34 AM
Братья компутерщики...пара вопросов..


Вопрос номер 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;
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;
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;
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 := 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
11/13/2006, 4:05:03 AM
(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;
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;
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;
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 := 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

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

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


Заранее спасибо за помощь...
Ребят...помогите плиз....
adia
11/13/2006, 11:55:23 AM
Давно никто не помогает. Попробую высказать свои замечания (я Делфи знаю поверхностно, и Паскаль ненавижу).
Что бросилось в глаза -
BlockWrite(F, W, 4);
и
BlockRead(F, W, 4);

Чего то мне кажется, что 4 тут будет не 4 байта, а 4 раза значение Integer. (те 16 байт). Вроде как третий параметр в этих функциях это не длинна в байтах, а кол-во записей.

Про
BlockWrite(F,ClrConverter.B, 1);
сказать не могу, в CВuilder, которым я пользуюсь это делается попроще. Тут просто надо быть твердо уверенным, что длина ClrConverter.B точно 1 байт. Для объектов это совсем не очевидно.

Извиняйте, если чушь спорол.
xTriplex
11/16/2006, 3:17:36 AM
(adia @ 13.11.2006 - время: 08:55) Извиняйте, если чушь спорол.
Любой ответ НАМНОГО лучше, чем молчание... 0096.gif


Что бросилось в глаза -
BlockWrite(F, W, 4);
и
BlockRead(F, W, 4);

Чего то мне кажется, что 4 тут будет не 4 байта, а 4 раза значение Integer. (те 16 байт). Вроде как третий параметр в этих функциях это не длинна в байтах, а кол-во записей.


Цитата из хелпа...
Delphi syntax:

procedure BlockWrite(var f: File; var Buf; Count: Integer );

Description

F is an untyped file variable, Buf is any variable, Count is an expression of type Integer, and AmtTransferred is an optional variable of type Integer.

BlockWrite writes Count or fewer records to the file F from memory, starting at the first byte occupied by Buf. The actual number of complete records written (less than or equal to Count) is returned in AmtTransferred.

Очевидно, что все в норме...да и юзал я так уже раньше, все было в норме...


Просто надо быть твердо уверенным, что длина ClrConverter.B точно 1 байт. Для объектов это совсем не очевидно.
Скорее всего ты прав, но свойство объекта объявлено как байт.

З.Ы. А как ты в Билдере Цвет на РГБ разбиваешь??? Мож дело как раз в этом...я попробую по твоему методу...

Заранее спасибо..
adia
11/16/2006, 11:12:24 AM
(xTriplex @ 16.11.2006 - время: 00:17) Цитата из хелпа...
Delphi syntax:

procedure BlockWrite(var f: File; var Buf; Count: Integer );

Description

F is an untyped file variable, Buf is any variable, Count is an expression of type Integer, and AmtTransferred is an optional variable of type Integer.

BlockWrite writes Count or fewer records to the file F from memory, starting at the first byte occupied by Buf. The actual number of complete records written (less than or equal to Count) is returned in AmtTransferred.

Очевидно, что все в норме...да и юзал я так уже раньше, все было в норме...


Неправы ни Вы, ни я.
Дело в том, что в Паскале файл имеет некоторую длину записи. И по умолчанию эта длина 128.
Т.е каждый оператор
BlockWrite(F, х, n);
выводит 128хn байт начиная с адреса х.
(Обратите внимание, длина получающегося у Вас файла в 128 раз больше чем надо).
Что бы устранить это надо установить длину записи файла =1.
ReWrite(F, 1); { Вот так!}

Еще раз убедился в маразматичности Паскаля.

Про CBuilder я ошибся. Там не проще.
Pixels - целое число, и я сам его разбираю на составляющие RGB.
xTriplex
11/17/2006, 1:51:37 AM
(adia @ 16.11.2006 - время: 08:12) Про CBuilder я ошибся. Там не проще.
Pixels - целое число, и я сам его разбираю на составляющие RGB.
Просвяти как именно...я раньше не сталкивался....просто взял компонент...хочу сам разложить для надежности...а то у компонента того нету исходника, посмотреть негде...

adia
11/17/2006, 10:19:04 AM
(xTriplex @ 16.11.2006 - время: 22:51) (adia @ 16.11.2006 - время: 08:12) Про CBuilder я ошибся. Там не проще.
Pixels - целое число, и я сам его разбираю на составляющие RGB.
Просвяти как именно...я раньше не сталкивался....просто взял компонент...хочу сам разложить для надежности...а то у компонента того нету исходника, посмотреть негде...
Ну так примерно.

int col
unsigned char r, g, b;
//..............................
col= ... Canvas->Pixels;
r=col & 0xFF;
g=(col>>8) & 0xFF;
b=(col >> 16) & 0xFF;


И назад собрать.

Canvas->Pixels=(b<<16) | (g<<8) | r;
vaska_28
12/18/2006, 3:34:18 AM
Ребята , у меня вопрос по DataGridView (.NET)
Как зделать двойной заголовок?

-------------------------
Первый заголовок 1
-------------------------
1.1 | 1.2
-------------------------
MooD
12/18/2006, 3:24:28 PM
Люди добрые помогите объясните мне начинающиму не опытному программисту!)
Для чего нам класс.. Суть его работы?!.. У меня курсовая работа называется Библиотека классов с большими числами, а в пояснении написанно с математическими операциями. Так вот программку эту я накатал для математич.оперц. и сделал чтоб ещё выводило всё это на экран. А вот как мне туда этот класс засунуть, да если бы понять его суть,..
Перечитываю книги, две книни пересмотрел и всё равно ни чего не помогает((( ..
vaska_28
12/19/2006, 2:42:26 PM
(MooD @ 18.12.2006 - время: 12:24) Люди добрые помогите объясните мне начинающиму не опытному программисту!)
Для чего нам класс.. Суть его работы?!.. У меня курсовая работа называется Библиотека классов с большими числами, а в пояснении написанно с математическими операциями. Так вот программку эту я накатал для математич.оперц. и сделал чтоб ещё выводило всё это на экран. А вот как мне туда этот класс засунуть, да если бы понять его суть,..
Перечитываю книги, две книни пересмотрел и всё равно ни чего не помогает((( ..
Класс создаётся для того что бы обобщить определённую функциональность.
В классе могут быть пременные и функции.
Цель создать проверенный кусок кода и использовать его потом (reuse).
ВАССО
2/3/2007, 3:56:26 AM
Подскажите пжалуйста какой прогой открыть файл с расширением VSD
DELETED
2/3/2007, 3:15:22 PM
(ВАССО @ 03.02.2007 - время: 00:56) Подскажите пжалуйста какой прогой открыть файл с расширением VSD
Microsoft Visio