Náhodné výkřiky 6

vložil Radek Červinka 30. června 2011 22:52

Opět něco co mne cestou praštilo do nosu. Dnes to bude případ "Test na prázdný řetězec", jeden zajímavý inzerát a help update pro XE.

Test na prázdný řetězec

Kdysi v době Turbo Pascalu nebo první verze Delphi někdo napsal, že je velmi výhodné testovat řetězec na prázdnost přes volání Length. Prosím - to už dávno není pravda, pokud to někdy pravda byla.

program Project2;
{$APPTYPE CONSOLE}
var
  s: string;
begin
  s:= 'Test';
  if s<>'' then
    Writeln('!1');
  if s='' then
    Writeln('!2');
  if Length(s) = 0 then
    Writeln('!3');
  if Length(s) <> 0 then
    Writeln('!4');
end.

se v Delphi 5 (jako zástupce neinline Delphi) přeloží nějak takto (jen zajímavé pasáže):

;if s='' then
   cmp dword ptr [s],$00
   jnz Project2 + $79
;Writeln('!2');
   mov eax,[$004092ec]
   mov edx,$00408730
   call @Write0LString
   call @WriteLn
   call @_IOTest
;if Length(s) = 0 then
   mov eax,[s]
   call @LStrLen
   test eax,eax
   jnz Project2 + $A0
;Writeln('!3');
…

Všimněte si volání "magic" funkce @LStrLen, naproti jednoduchému porovnání.

V Delphi 2007 takto (evidentně zlepšení ohledně Length):

;if s='' then
  cmp dword ptr [$004087e8],$00
  jnz $00404111
;Writeln('!2');
  mov eax,[$00405794]
  mov edx,$004041a8
  call @Write0LString
  call @WriteLn
  call @_IOTest
;if Length(s) = 0 then
  mov eax,[$004087e8]
  test eax,eax
  jz $0040411f
  sub eax,$04
  mov eax,[eax]
  test eax,eax
  jnz $0040413c
;Writeln('!3');

Už žádné volání, ale jen cca 5x delší kód. Předpokládám, že už je to naprosto jasné.

Inzerátek

Sice už z dubna, pokud mne má azbuka neklame, ale přesto snad zajímavé - kráceno.

zdroj, autorem je Embarcadero Technologies

Delphi Developer in RAD Studio Team, St.Petersburg

Ever wonder what it would be like to work with the top developers in the world? 
Embarcadero is offering a rare opportunity to work on a yet to be released 
product in their Delphi RAD Studio framework team. 
We have positions open to join a leading edge team 
located in company's development center in St.-Petersburg, Russia.

In this position, candidate will be working on the development of FireMonkey,
a new framework and platform for creating cross-platform applications in Delphi RAD Studio.
He would be a member of the FireMonkey R&D team working on the 
design and implementation of this framework and platform.

Required knowledge and skill:

• 5+ years working experience in commercial Delphi application development.
• In-depth knowledge of Delphi language concepts, threading and memory management.
• Deep knowledge of Windows operating systems and associated Win APIs.
• Experience developing components for RAD Studio (Delphi, C++Builder),
 proficient with latest versions of RAD Studio.
• Good understanding of OOP/OOD concepts, good algorithmic and implementation skills.
• Good team player, good communication skills.
• Technical English skills are must (reading, writing, speaking is desirable).

The ideal candidate will have relevant experience within commercial 
software development and a Bachelors/Master Degree in computer science, 
mathematics, or software engineering.

The salary is 70000 RUR and higher. 

Všimněte si FireMonkey.

Help update 3

Help update 3 pro Delphi XE je dostupný.

Tagy: ,

Novinky v Delphi | Začátečníci

Komentáře

2.7.2011 17:25:38 #

Radim

Je help - Help update 3 pre XE kumulativny. Mozem preskocit instalaciu Help update 2 a nainstalovat na XE + Help update 1 hned 3 verziu?

Radim

2.7.2011 19:02:24 #

Radim

Sikovne drobnosti - http://rmklever.com/

Radim

2.7.2011 21:09:02 #

Radekc

Nevím, píší jen: This Help Update can be applied to:

    C++Builder XE, Delphi XE, or RAD Studio XE
    Update 1 of C++Builder XE, Delphi XE, or RAD Studio XE

Radekc

4.7.2011 9:30:03 #

Radim

Diky. Stranku s púopisom updatu som cital, nejak mi to uslo..

Radim

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců