Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 724
от 01.02.2007, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 438, Экспертов: 75
В номере:Вопросов: 3, Ответов: 5


Вопрос № 72814: Здраствуйте! Первый вопрос: есть чёрнобелое jpg изображение, возиожно ли програмно уменьшить его разрешение?Если возможно то как это сделать? Второй вопрос: как из TDBEdit перекинуть текст(запись БД) в RichEdit или в подобный ком...
Вопрос № 72858: Здравствуйте уважаемые эксперты!У меня на форме два StringGrid1 и StringGrid2. StringGrid1 должен заполняться вручную в ходе выполнения приложения,я не знаю заранее количество строк в StringGrid1(у него есть только заголовки столбцов),заполняя первый...
Вопрос № 72876: Здравствуйте ! хочу научится програмировать. Незнаю ничего ни одного языка не изучал а самоучитель нигде скачать не могу такой чтоб понятно было? ...

Вопрос № 72.814
Здраствуйте!
Первый вопрос:
есть чёрнобелое jpg изображение, возиожно ли програмно уменьшить его разрешение?Если возможно то как это сделать?

Второй вопрос:
как из TDBEdit перекинуть текст(запись БД) в RichEdit или в подобный компонент, но у которого есть возможность выводить на печать?
Отправлен: 27.01.2007, 07:39
Вопрос задал: KuchumHan (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Leshka
Здравствуйте, KuchumHan!

Просто получить данные из TDBEdit можно так
dbedit1.Field.AsString
В это случае мы получим только то значение, что отображается в данный момент в TDBEditе
Если полей несколько, то гораздо удобней обратиться к Query или Table (смотря что используется) и получить все поля записи например так

var fc,i: integer;
begin
memo1.Lines.Add(dbedit1.Field.AsString);
fc := dbedit1.DataSource.DataSet.FieldCount;
for i:=1 to fc do begin
// можно обратиться прямо к ADOQuery1
Memo1.Lines.Add('Name '+ADOQuery1.Fields.FieldByNumber(i).FieldName);
// или так - bedit1.DataSource.DataSet
Memo1.Lines.Add(' '+dbedit1.DataSource.DataSet.Fields.FieldByNumber(i).AsString);
end;
end;

или через свойство Query FieldByName
Ответ отправил: Leshka (статус: 1-ый класс)
Ответ отправлен: 27.01.2007, 11:48
Оценка за ответ: 4
Комментарий оценки:
В принципе я уже решил проблему
procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.Lines.Add(DbEdit1.Text+' '+DbEdit2.Text);
- это чтобы из разных полей записи одна за другой следовали(например: Петя Сидоров). Про ADOQuery никто неспрашивал. У Вас конкретно TDBEdit и RichEdit.Т.е. кто, что использует для работы с базой данных в этом вопросе не имеет значение.
А вот как на печатать выводится:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if PrintDialog1.Execute then
form1.RichEdit1.Print(Text);
end;

А на первый вопрос Вы вообще не ответили. За подробный ответ на второй вопрос спасибо - пригодится.На первый раз прошаю, как начинающему.

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, KuchumHan!
Для уменьшения и увеличения разрешения надо использовать CopyRect с разными разными размерами источника и приемника информации. Поскольку TJpegImage не имеет канвы, то надо будет использовать промежуточные TBitMap буферы.
Однако, CopyRect использует самую примитивную интерполяцяю - ближайший сосед. Если вам нужно что-дь получше, можете поискать алгоритмы в интернете:
билинейная интерполяция алогритм реализация
бикубичская интерполяция алогритм реализация

В приложении пример, как конвертировать из TBitmap в TJpegImage. В обратную сторону делается по аналогии.

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 28.01.2007, 00:24
Оценка за ответ: 4
Комментарий оценки:
Всё это очень замечательно, но нет ли у Вас исходника программы которая именно меняет разрешение, а не переконвертирует файл из одного формата в другой? С конвертацией всё ясно, а вот получение изображения, которое должно скачаться на смартфон быстро и более менее качественно - с этим трудности.
P.S.Лучше бы пример с CopyRect привели бы(не в упрёк, а как прошение воспримите это).


Вопрос № 72.858
Здравствуйте уважаемые эксперты!У меня на форме два StringGrid1 и StringGrid2. StringGrid1 должен заполняться вручную в ходе выполнения приложения,я не знаю заранее количество строк в StringGrid1(у него есть только заголовки столбцов),заполняя первый столбец у меня он называется "Наименования параметров",в StringGrid2 должны создаваться столбцы(количество столбцов я тоже соответственно не знаю) в заголовки которых должны вписываться имена параметров из StringGrid1.
Отправлен: 27.01.2007, 14:24
Вопрос задал: Delphi-n (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Argyn.Durmagambetov
Здравствуйте, Delphi-n!

вам нужно обработать событие StringGrid1.OnDrawCell
поставьте там такой код (код в приложении)

Приложение:

---------
Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ

Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 29.01.2007, 07:10


Вопрос № 72.876
Здравствуйте ! хочу научится програмировать. Незнаю ничего ни одного языка не изучал а самоучитель нигде скачать не могу такой чтоб понятно было?
Отправлен: 27.01.2007, 16:14
Вопрос задал: Шепель Юрий Олеговичь (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Volhit
Здравствуйте, Шепель Юрий Олеговичь!
Попробуйте начать с http://delphikingdom.ru/
Надеюсь меня простят за неумышленную рекламу :)

Если же вас интересует не только Delphi, попробуйте сайт, который так и называется - первые шаги :) (www.firststeps.ru)
Ответ отправил: Volhit (статус: 2-ой класс)
Ответ отправлен: 27.01.2007, 17:32
Оценка за ответ: 5

Отвечает: sir henry
Здравствуйте, Шепель Юрий Олеговичь!
Раз уж Вы написали этот вопрос в рассылку по языку Дельфи, то скачайте себе книгу "Дельфи для начинающих":
http://xsector.com1.ru/books/comp2/programming/Delphi_7.zip
Со своей стороны настоятельно рекомендую купить бумажную книгу, т.к. ее читать намного более удобно, чем электронную. Для примера можно взять книги:
Фаронов "Delphi 7. Учебный курс".
Фаронов "Delphi 7. Программирование баз данных".
Первая книга - основы программирования в Дельфи, вторая - основы программирования баз данных в Дельфи.
Кроме того, очень хорошо и понятно о Дельфи пишет автор Марк Канту.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 27.01.2007, 18:39
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо Ваш ответ очень вразумителен и понятен!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.43 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное