Как разбить страницу на колонки в Ворде (работаю через OLE)?
» Вопросы по Delphi
.PageSetup.TextColumns.Add Width:=CentimetersToPoints(4.83),
Spacing:=CentimetersToPoints(1.25), EvenlySpaced:=False
Я когда делаю что-то з вордом через ОЛЕ, то создаю макрос, делаю что надо средствами ворда, а потом смотрю сгенерированный VB-код и делаю приблизительно то же из Delphi
Spacing:=CentimetersToPoints(1.25), EvenlySpaced:=False
Я когда делаю что-то з вордом через ОЛЕ, то создаю макрос, делаю что надо средствами ворда, а потом смотрю сгенерированный VB-код и делаю приблизительно то же из Delphi
RostY
Цитата:
Я тоже так делаю, но не понимаю как переделать под Delphi. Если не трудно напиши как должно быть в Ворде чтобы сделать 2 колонки.
Цитата:
смотрю сгенерированный VB-код
Я тоже так делаю, но не понимаю как переделать под Delphi. Если не трудно напиши как должно быть в Ворде чтобы сделать 2 колонки.
YFred
procedure TForm1.Button1Click(Sender: TObject);
var
Word: Variant;
begin
Word := CreateOleObject('Word.Application');
Word.Visible := 1;
Word.Documents.Add;
Word.ActiveDocument.PageSetup.TextColumns.SetCount(2);
end;
Добавлено:
р.s. Бывает что и по коду непонятно - тогда жму Ф1 и читаю:
SetCount Method
"Arranges text into the specified number of text columns.
Note You can also use the Add method of the TextColumns object to add a single column to the TextColumns collection.
Syntax
expression.SetCount(NumColumns)
expression Required. An expression that returns a TextColumns object.
NumColumns Required Long. The number of columns the text is to be arranged into.
procedure TForm1.Button1Click(Sender: TObject);
var
Word: Variant;
begin
Word := CreateOleObject('Word.Application');
Word.Visible := 1;
Word.Documents.Add;
Word.ActiveDocument.PageSetup.TextColumns.SetCount(2);
end;
Добавлено:
р.s. Бывает что и по коду непонятно - тогда жму Ф1 и читаю:
SetCount Method
"Arranges text into the specified number of text columns.
Note You can also use the Add method of the TextColumns object to add a single column to the TextColumns collection.
Syntax
expression.SetCount(NumColumns)
expression Required. An expression that returns a TextColumns object.
NumColumns Required Long. The number of columns the text is to be arranged into.
Как узнать установлен ли определенный шрифт в системе?
Если не установлен, то как установить?
Если не установлен, то как установить?
Цитата:
Как узнать установлен ли определенный шрифт в системе?
1. Screen.Fonts типа TStrings содержит список установленных в системе шрифтов.
2. С помощью WinAPI: функция EnumFontFamilies.
Цитата:
Если не установлен, то как установить?
С помощью WinAPI: функции AddFontResource и AddFontResourceEx и иже с ними...
Подробности можно найти в MSDN.
makbeth, спасибо.
Еще вопрос по Word'у вставляю таблицу (16,4) надо обвести не по одной ячейки, а допустим первые 8 в первом столбце, и остальные 8. Как сделать? Надеюсь вопрос понятен.
функция Range("_верхний_левый_:_нижний_правый_")
dyr farot
Чо-то не получается, если можно по подробнее.
Чо-то не получается, если можно по подробнее.
Цитата:
Подскажите пожалуйста как в делфях отлавить момент подключения стороннего юзверя к NT системе, учетную запись с которой он пытается войти в систему и его IP?
Скорей всего перехватом функций LogonUser и иже с ней из группы Security Functions
Какой компонентой лучше вочпользоваться для созднаия на форме области, внутри которой можно было бы размешать какие-либо простые графические фигуры (а лучше если можно будет добавлять изображения) и иметь возможность управлять ими: двигать внутри области, вращать, менять цвет и т.д.
YFred
Код: var
v1: OleVariant;
v2: OleVariant;
v3: OleVariant;
v4: OleVariant;
doc: WordDocument;
tbl: Table;
rng: Range;
brd: Borders;
begin
App.Connect;
App.Visible := True;
v1 := EmptyParam;
v2 := EmptyParam;
v3 := EmptyParam;
v4 := True;
doc := App.Documents.Add(v1, v2, v3, v4);
v1 := 0;
v2 := 0;
v3 := EmptyParam;
v4 := EmptyParam;
tbl := doc.Tables.Add(Doc.Range(v1, v2), 16, 4, v3, v4);
v1 := tbl.Cell(1, 1).Range.Start;
v2 := tbl.Cell(8, 2).Range.End_;
rng := doc.Range(v1, v2);
brd := rng.Borders;
brd.Item(wdBorderLeft).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderRight).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderTop).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderBottom).LineStyle := wdLineStyleDouble;
Код: var
v1: OleVariant;
v2: OleVariant;
v3: OleVariant;
v4: OleVariant;
doc: WordDocument;
tbl: Table;
rng: Range;
brd: Borders;
begin
App.Connect;
App.Visible := True;
v1 := EmptyParam;
v2 := EmptyParam;
v3 := EmptyParam;
v4 := True;
doc := App.Documents.Add(v1, v2, v3, v4);
v1 := 0;
v2 := 0;
v3 := EmptyParam;
v4 := EmptyParam;
tbl := doc.Tables.Add(Doc.Range(v1, v2), 16, 4, v3, v4);
v1 := tbl.Cell(1, 1).Range.Start;
v2 := tbl.Cell(8, 2).Range.End_;
rng := doc.Range(v1, v2);
brd := rng.Borders;
brd.Item(wdBorderLeft).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderRight).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderTop).LineStyle := wdLineStyleDouble;
brd.Item(wdBorderBottom).LineStyle := wdLineStyleDouble;
RomanTim
Код: doc: WordDocument;
tbl: Table;
rng: Range;
brd: Borders;
Код: doc: WordDocument;
tbl: Table;
rng: Range;
brd: Borders;
ShamaN
Цитата:
TImage/TPaintBox
Цитата:
Какой компонентой лучше вочпользоваться для созднаия на форме области, внутри которой можно было бы размешать какие-либо простые графические фигуры (а лучше если можно будет добавлять изображения) и иметь возможность управлять ими: двигать внутри области, вращать, менять цвет и т.д.
TImage/TPaintBox
YFred
WordXP или Word2000 или Word97 - смотря какая Делфи и что выбирал при установке
WordXP или Word2000 или Word97 - смотря какая Делфи и что выбирал при установке
LordMAD, хотелось бы, чтоб была возможность работать с отдельными частями рисунка как с объектами. Разве в TImage/TPaintBox возможно изменить цвет элемента или повернуть его на заданный угол?
ShamaN
Цитата:
Тогда обычными компонентами тут не обойтись, так как придется реализовывать слои или что нить подобное, иначе хз как ты сделаешь доступ к кажому элементу. Если будет много контролов, то у приложения может просто снести крышу и выдать AV.
Цитата:
Разве в TImage/TPaintBox возможно изменить цвет элемента или повернуть его на заданный угол?
Тогда обычными компонентами тут не обойтись, так как придется реализовывать слои или что нить подобное, иначе хз как ты сделаешь доступ к кажому элементу. Если будет много контролов, то у приложения может просто снести крышу и выдать AV.
ShamaN
Цитата:
А руки на что? Там делов-то!
Цитата:
LordMAD, хотелось бы, чтоб была возможность работать с отдельными частями рисунка как с объектами. Разве в TImage/TPaintBox возможно изменить цвет элемента или повернуть его на заданный угол?
А руки на что? Там делов-то!
Как извлечь данные из TChart? (Такая ситуация: есть круговая диаграмма и 3 TEdit, в которые вводятся цифры, которые должны увеличивать уже построенные данные)
jsnjack
Declaration
property PieValues : TChartValueList;
Description
The PieValues property stores the Pie slice values. It's a standard TList, so you can access it as follows:
tmp := PieSeries1.PieValues[ 3 ] ;
кароче тебе надо пропертю PieValues и писать что-то типа:
PieValues.Value[0]:=PieValues.Value[0]+StrToFloat(Edit1.Text);
все компилится, то чарт, правда, не обновляется , может потом надо какой-то метод чарта вызвать чтоб перерисовался
Declaration
property PieValues : TChartValueList;
Description
The PieValues property stores the Pie slice values. It's a standard TList, so you can access it as follows:
tmp := PieSeries1.PieValues[ 3 ] ;
кароче тебе надо пропертю PieValues и писать что-то типа:
PieValues.Value[0]:=PieValues.Value[0]+StrToFloat(Edit1.Text);
все компилится, то чарт, правда, не обновляется , может потом надо какой-то метод чарта вызвать чтоб перерисовался
Народ, подскажите плиз, вобщем надо найти наибольшее из чисел Фиббоначи, значения которых не превышают N. N - входные данные. Не могли бы помочь в написании?, надо обязательно к завтра. Буду очень благодарен! Заранее всем спасибо!
Вопрос:
Есть набор данных 50т.з. сделал поиск по частичному совпадению
<code>
QueryALL.Locate('NHORSE',edtFind.Text,[loCaseInsensitive,loPartialKey])
</code>
На первый поиск уходит около 20сек. при последующих доли секунды .
Почему такие тормоза при первом поиске????
Есть набор данных 50т.з. сделал поиск по частичному совпадению
<code>
QueryALL.Locate('NHORSE',edtFind.Text,[loCaseInsensitive,loPartialKey])
</code>
На первый поиск уходит около 20сек. при последующих доли секунды .
Почему такие тормоза при первом поиске????
YFred
Данные реально подгрузились в память.
Может стоит в SQL ограничивать количество записей, еще до поиска?
Данные реально подгрузились в память.
Может стоит в SQL ограничивать количество записей, еще до поиска?
YFred
vshersh
либо сделать фильтр, который динамически изменяет запрос.
vshersh
либо сделать фильтр, который динамически изменяет запрос.
YFred
для поиска через Query сипользуй SQL, будет быстрее...
для поиска через Query сипользуй SQL, будет быстрее...
vshersh
Цитата:
А как узнать?
Первым запросом я просто вываливаю данные из одной таблицы в DBGrid (50т.з.) затем в редакторе TEdit делаю поиск по вводу каждой буквы и когда ввожу первую букву поиск идет сек.30, когда 2, 3 и тд. моментом (таблица упорядочена по полю по которому ведется поиск).
DroN_S
На сколько я знаю поиск аналогично описанному мной с помощью SQL сделать нельзя. Если умеешь научи.
Цитата:
Данные реально подгрузились в память.
А как узнать?
Первым запросом я просто вываливаю данные из одной таблицы в DBGrid (50т.з.) затем в редакторе TEdit делаю поиск по вводу каждой буквы и когда ввожу первую букву поиск идет сек.30, когда 2, 3 и тд. моментом (таблица упорядочена по полю по которому ведется поиск).
DroN_S
На сколько я знаю поиск аналогично описанному мной с помощью SQL сделать нельзя. Если умеешь научи.
YFred
Лучче не вываливать 50тз в грид
А поиск надо делать через условие WHERE запроса (как сказалDroN_S)
Например:
Код: select *
from MyTable t
where t.name like 'NHORSE%'
Лучче не вываливать 50тз в грид
А поиск надо делать через условие WHERE запроса (как сказалDroN_S)
Например:
Код: select *
from MyTable t
where t.name like 'NHORSE%'
Цитата:
Лучче не вываливать 50тз в грид
вот твой и "тормоз"!!!! можно сказать ручной привод
Пытаюсь установить Borland Delphi v8.0 Architect Edition в WindowsXP, а он говорит: "The 'Prereqs.exe' application could not be located." Подскажите ламеру, что делать.
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Вероятность одинакового CRC32
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.