Програмиране Информационен бюлетин на IDG.bg
Брой 129 / 2010 март 08
IDG.bg
 
 
 Категории:
• Оптимизация на кода (1)
• Инструменти (1)
• Уеб езици (1)
• Езици за приложения (1)
• Бази данни (1)
• Нови книги (1)
• Избрано от форумите (1)
• Обработка на низове (1)
• Въпрос на броя (1)
• Отговор на броя (1)

Абонирай се за:
• i-Сигурност
• Мрежи и комуникации
• Бази данни & ERP системи

 В този брой четете:
» Работа с изображение
» VB Decompiler
» Регистрация на потребителски контрол
» Име на прозорец
» Преименуване на колона
» Ориентирана към услуги архитектура
» Поддръжка на Windows 2000 и XP SP2
» Избор на случаен ред
» Въпрос на броя
» Отговор на броя

 
 Оптимизация на кода
Работа с изображение

Ето как можете да прочетете съдържанието на файл, съдържащ изображение в паметта и да го използвате за инциализиране на pictureBox:

FileStream^ fs = File::OpenRead("C:\\image.jpg");
array<Byte>^data;
 
data = gcnew array<Byte>(fs->Length);
fs->Read(data,0,data->Length);
 
MemoryStream^ ms = gcnew MemoryStream(data);
Bitmap^ bmp = gcnew Bitmap(ms);
 
pictureBox1->BackgroundImage = bmp;


 Инструменти
VB Decompiler

VB Decompiler Lite е безплатна програма, която декомпилира програми, написани на Visual Basic, обратно във вид на код. Инструментът може да декодира форми (frm и frx) и usercontrols (ctl) object файлове и др. Оцветява синтаксиса на декомпилирания код; предлага опция за търсене. Можете накрая да запишете декомпилираните данни в един DB файл. Изтеглете своята версия на адрес http://www.vb-decompiler.org/

 Уеб езици
Регистрация на потребителски контрол

В ASP.NET 2.0 имате на разположение удобен начин за регистриране на потребителски контроли – направо в web.config, както в примера по-долу:

<configuration>
    <system.web>       
      <pages>
            <controls>
                  <addtagPrefix="uc" tagName="table" src="table.ascx" />
                  <!-- Add other user/custom control references here -->
            </controls >
      </pages >  
    </system.web>
</configuration>


Така може да се обръщате към the table.ascx без директивата Register:

<body>
    <form id="form1" runat="server">
    <div>
        <uc:table ID="Table1" runat="server" />
    </div>
    </form>
</body>


 Езици за приложения
Име на прозорец

За да откриете името на прозореца в точка с координати (X,Y) използвайте следния код:

function GetParentWindowNameAt
         ( X, Y : integer ) : string;
var
  P : TPoint;
  W : TWinControl;
begin
  P.X := X;
  P.Y := Y;

  W := FindVCLWindow( P );
  if( nil <> W )then
  begin
    Result := W.Name;
  end else
  begin
    Result := '';
  end;
end;


 Бази данни
Преименуване на колона

След версия 9i може да използвате ключовата дума RENAME, за да смените името на колона от таблица

ALTER TABLE tablename RENAME COLUMN oldcolumn TO newcolumn;

За по-стари версии, използвайте view:

rename t1 to t1_base;
create view t1 >column list with new name> as select * from t1_base;

или пресъздайте наново таблицата, като зададете желаното име на колоната:

create table t2 >column list with new name> as select * from t1;
drop table t1;
rename t2 to t1;


 Нови книги
Ориентирана към услуги архитектура

Потърсете на книжния пазар книгата „Ориентирана към услуги архитектура „ -  тя разглежда ориентираната към услуги архитектура (Service-Oriented Architecture - SOA) и основните й концепции, които представляват интерес за широк кръг специалисти: ръководители на технологични звена, разработчици на приложения, системни администратори, архитекти, бизнес-аналитици и ръководители на бизнес звена.

 Избрано от форумите
Поддръжка на Windows 2000 и XP SP2

От 13 юли Microsoft ще спре изцяло поддръжката на операционната система Windows 2000 и Windows XP SP2. Поддръжката на XP SP3 обаче ще бъде запазена. Освен това, хората, които ползват Windows Vista без SP1 или SP2 ще трябва да си инсталират тези допълнения до 13 април, в противен случай и те ще бъдат лишени от техническа поддръжка.

Обяснението за тези действия на Microsoft е просто – старите операционни системи не отговарят на съвременните изисквания за безопасност и компютрите, на които те са инсталирани са постоянно изложени на риск от зараза.


 Обработка на низове
Избор на случаен ред

Във файла leader.txt са записани имена –
$ cat leader.txt
Mr B
Mrs C
Mrs A
Mrs X
Mr Y


Как може да се избере случайно едно от тях?

Ето няколко възможни решения:

Използване на командата shuf:

$ shuf -n 1 leader.txt
Mr B


Използване на командата sed с RANDOM променлива:

$ sed -n $((RANDOM%$(wc -l < leader.txt)+1))p leader.txt
Mrs C


 Въпрос на броя
Въпрос на броя

Как се създава полу-прозрачен панел във VB.NET ?

 Отговор на броя
Отговор на броя

Как да скрием програма от TaskBar-а под Делфи ?

procedure TMainForm.FormShow(Sender: TObject);
var Owner : HWnd;
begin
 Owner:=GetWindow(Handle,GW_OWNER);
 ShowWindow(Owner,SW_HIDE);
end;


За да прекратите абонамента си за този бюлетин, влезте в акаунта си и махнете отметката срещу него в меню "Бюлетини"
Ако имате въпроси или коментари към информационните бюлетини на IDG.bg, пишете ни на адрес online@idg.bg

© 2010 ICT Media