unit Utilities;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, ClipBrd,
ToolWin, ActnList, ImgList, MMSystem, OleServer, ShellApi,
SpeechLib_TLB, IdSMTP, IdMessage, idAttachment, StrUtils;
type
TSound = (HappyBirthDay, SongofJoy, Ding, DingDong,
Kennenlerntag, MartinasGeburtstag, Hochzeitstag,
BeethovensGeburtstag, BachsGeburtstag, Internationale,
Bourree, RadioHamburg, Alarm, Sailing, DieGedankensindfrei,
MorseCode);
var
SpVoice: TspVoice;
Speaker:integer;
SOTokens: ISpeechObjectTokens;
procedure EnumVoices(VoiceNo:integer;Leise:String;Combo:TComboBox);
procedure Speak(Rate:integer;T:String);
function SoundCheck: boolean;
Procedure PCSounder(i : TSound);
Procedure Morse(Tx:String);
function MailServerTest(SMTP:TIdSMTP;Host:String;User:String;Password:String):boolean;
function SendMail(SMTP:TIdSMTP;Host:String;User:String;Password:String;
From:String;ToId:String;Subject:String;Body:String):String;
function Country(tld: String):integer;
procedure Pro(Module:integer;s:String);
implementation
{------------------------------------------------------------------}
{- function getMACAddress -}
{- -}
{------------------------------------------------------------------}
procedure Pro(Module:integer;s:String);
var Fse: Text;
begin
AssignFile (Fse,'mod'+inttostr(Module)+'.txt');
Rewrite(fse);
write(fse,inttostr(module)+s+Chr(13)+Chr(10));
CloseFile(fse);
end;
//----------------------------------------------------------------
//
// produce speech from clipboard
//
//----------------------------------------------------------------
procedure Speak(rate:integer;T:String);
begin
if Speaker > 0 then begin
SpVoice.Voice := SOTokens.Item(Speaker-1);
SpVoice.Rate := rate;
SpVoice.Speak(T, SVSFDefault)
end
end;
//----------------------------------------------------------------
//
// test for sound card
//
//----------------------------------------------------------------
function SoundCheck: boolean;
begin
if WaveOutGetNumDevs > 0 then
SoundCheck := true
else
SoundCheck := false
end;
//----------------------------------------------------------------
//
// get voices from machine
//
//----------------------------------------------------------------
procedure EnumVoices(VoiceNo:integer;Leise:String;Combo:TComboBox);
var
i, NoVoices: Integer;
SOToken: ISpeechObjectToken;
dwVersion : double;
begin
if not SoundCheck then begin
Speaker := 0;
Combo.Items.AddObject(Leise, nil);
Combo.ItemIndex:=0;
exit;
end;
dwVersion := GetVersion();
if (dwVersion >= $80000000) then // no Windows XP
begin
Speaker := 0;
Combo.Items.AddObject(Leise, nil);
Combo.ItemIndex:=0;
exit;
end;
SpVoice := TSpVoice.Create(nil);
//enter silent mode
Combo.Items.Clear;
Combo.Items.AddObject(Leise, nil);
Combo.ItemIndex:=0;
//Ensure all events fire
SpVoice.EventInterests := SVEAllEvents;
SOTokens := SpVoice.GetVoices('', '');
NoVoices := SOTokens.Count - 1;
for I := 0 to NoVoices do
begin
//For each voice, store the descriptor in the TStrings list
SOToken := SOTokens.Item(I);
Combo.Items.AddObject(SOToken.GetDescription(0), TObject(SOToken));
//Increment the descriptor reference count to ensure it doesn't get destroyed
SOToken._AddRef;
end;
if NoVoices >= 0 then
Combo.ItemIndex := 0; //Select 1st voice
// set options
if (NoVoices >=1) and
(VoiceNo <= Combo.Items.Count) then begin
Speaker := VoiceNo;
Combo.ItemIndex := Speaker;
end;
end;
//----------------------------------------------------------------
//
// produce pc speaker beeps
// with predefined songs
//
//----------------------------------------------------------------
procedure PCSpeakerBeep(Frequency, Duration: Integer);
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
Windows.Beep(Frequency, Duration)
else
asm
MOV ECX, Frequency
JCXZ @@2
MOV EAX, 1193181
CDQ
IDIV ECX
MOV ECX, EAX
IN AL, ($61)
TEST AL, $03
JNZ @@1
OR AL, $03
OUT ($61), AL
MOV AL, $B6
OUT ($43), AL
@@1: MOV AL, CL
OUT ($42), AL
MOV AL, CH
OUT ($42), AL
PUSH Duration
CALL Windows.Sleep
@@2: IN AL, ($61)
AND AL, $FC
OUT ($61), AL
end;
end;
//------------------------------------------------------------------
//
// Procedure PCSounder
// for to sound from PC beeper loauspeaker
//
//------------------------------------------------------------------
Procedure Morse(Tx:String);
const
dit = 100;
dah = 300;
CH = chr(1);
KA = chr(2); // Spruchanfang
BT = chr(3); // Pause
AR = chr(4); // Spruchende
VE = chr(5); // verstanden
SK = chr(6); // Verkehrsende
SOS = chr(7); // Seenotruf
IRRUNG = chr(8); // Wiederholung ab letztem richtigen Wort
var i:integer;
procedure Tone(f : real;d : integer);
var
frequency : longint;
dure:variant;
begin
frequency := trunc(f);
dure := d;
PCSpeakerBeep(frequency,dure);
sleep(dure);
//SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Tone}
procedure Pause(d : integer;Tempo : real);
begin
Sleep(d);
// SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Pause}
procedure sh; begin Tone(1000,dit); end;
procedure lo; begin Tone(1000,dah); end;
procedure pa; begin Pause(dit,1); end;
procedure letter(x:char);
begin
case x of
'a': begin sh;lo; end;
'b': begin lo;sh;sh;sh; end;
'c': begin lo;sh;lo;sh; end;
'd': begin lo;sh;sh; end;
'e': begin sh; end;
'f': begin sh;sh;lo;sh; end;
'g': begin lo;lo;sh; end;
'h': begin sh;sh;sh;sh; end;
'i': begin sh;sh; end;
'j': begin sh;lo;lo;lo; end;
'k': begin lo;sh;lo; end;
'l': begin sh;lo;sh;sh; end;
'm': begin lo;lo; end;
'n': begin lo;sh; end;
'o': begin lo;lo;lo; end;
'p': begin sh;lo;lo;sh; end;
'q': begin lo;lo;sh;lo; end;
'r': begin sh;lo;sh; end;
's': begin sh;sh;sh; end;
't': begin lo; end;
'u': begin sh;lo;lo; end;
'v': begin sh;sh;sh;lo; end;
'w': begin sh;lo;lo; end;
'x': begin lo;sh;sh;lo; end;
'y': begin lo;sh;lo;lo; end;
'z': begin lo;lo;sh;sh; end;
'0': begin lo;lo;lo;lo;lo; end;
'1': begin sh;lo;lo;lo;lo; end;
'2': begin sh;sh;lo;lo;lo; end;
'3': begin sh;sh;sh;lo;lo; end;
'4': begin sh;sh;sh;sh;lo; end;
'5': begin sh;sh;sh;sh;sh; end;
'6': begin lo;sh;sh;sh;sh; end;
'7': begin lo;lo;sh;sh;sh; end;
'8': begin lo;lo;lo;sh;sh; end;
'9': begin lo;lo;lo;lo;sh; end;
'Á',
'Å': begin sh;lo;lo;sh;lo; end;
'Ä': begin sh;lo;sh;lo; end;
'Ö': begin lo;lo;lo;sh; end;
'Ü': begin sh;sh;lo;lo; end;
'ß': begin lo;lo;lo;sh;sh;lo;lo; end;
CH: begin lo;lo;lo;lo; end;
'Ñ': begin lo;lo;sh;lo;;lo; end;
'.': begin sh;lo;sh;lo;sh;lo; end;
',': begin lo;lo;sh;sh;lo;lo; end;
':': begin lo;lo;lo;sh;sh;sh; end;
';': begin lo;sh;lo;sh;lo;sh; end;
'?': begin sh;sh;lo;lo;sh;sh; end;
'-': begin lo;sh;sh;sh;lo; end;
'(': begin lo;sh;lo;lo;sh; end;
')': begin lo;sh;lo;lo;sh;lo; end;
'''': begin sh;lo;lo;lo;lo;sh; end;
'=': begin sh;lo;lo;lo;sh; end;
'+': begin sh;lo;sh;lo;sh; end;
'/': begin lo;sh;sh;lo;sh; end;
'@': begin sh;lo;lo;sh;lo;sh; end;
KA: begin lo;sh;lo;sh;lo; end;
BT: begin lo;sh;sh;sh;lo; end;
AR: begin sh;lo;sh;lo;sh; end;
VE: begin sh;sh;sh;lo;sh; end;
SK: begin sh;sh;sh;lo;sh;lo; end;
SOS: begin sh;sh;sh;lo;lo;lo;sh;sh;sh; end;
IRRUNG: begin sh;sh;sh;sh;sh;sh;sh;sh; end;
' ': begin pa;pa;pa;pa;pa;pa;pa; end;
else
begin sh;sh;lo;lo;sh;sh; end; // Irrung
end;
end;
begin
letter(KA);
for i:=1 to Length(Tx) do
begin letter(tx[i]);pa;pa;pa; end;
letter(AR);
end;
//------------------------------------------------------------------
//
// Procedure PCSounder
// for to sound from PC beeper loauspeaker
//
//------------------------------------------------------------------
Procedure PCSounder(i : TSound);
const
c000 = 32.70;
c00 = 65.41;
c0 = 130.81;
g0 = 196.0;
a0 = 220.0;
h0 = 246.94;
c = 261.63;
cis = 277.18;
d = 293.67;
es = 311.13;
e = 329.63;
f = 349.23;
fis = 369.99;
g = 392.0;
ass = 415.31;
gis = ass;
a = 440.0;
b = 466.16;
h = 493.88;
c1 = 261.63;
c2 = 523.25;
c3 = 1046.51;
c4 = 2093.02;
c5 = 4186.03;
full = 512;
half = 256;
Quart = 128;
eigth = 64;
var
Hz : real;
j : integer;
BaseTone : integer;
Offset : integer;
Tempo : real;
procedure Tone(f : real;d : integer);
var
frequency : longint;
dure:variant;
begin
frequency := trunc(f);
dure := d * Tempo;
PCSpeakerBeep(frequency,dure);
sleep(dure);
//SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Tone}
procedure Pause(d : integer;Tempo : real);
begin
Sleep(d);
// SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Pause}
begin
case i of
HappyBirthDay :
begin
Tempo := 1;
Tone(g,quart+eigth);
Tone(g,eigth);
Tone(a,half);
Tone(g,half);
Tone(c2,half);
Tone(h,full);
Tone(g,quart+eigth);
Tone(g,eigth);
Tone(a,half);
Tone(g,half);
Tone(2*d,half);
Tone(c2,full);
Tone(g,quart+eigth);
Tone(g,eigth);
Tone(g*2,half);
Tone(e*2,half);
Tone(c2,quart);
Tone(c2,quart);
Tone(c2,half);
Tone(a,half);
Tone(f*2,quart+eigth);
Tone(f*2,eigth);
Tone(e*2,half);
Tone(c2,half);
Tone(d*2,half);
Tone(c2,full);
end;
SongofJoy :
begin
Tempo := 4.0 / 3.0;
Tone(e,quart);
Tone(e,quart);
Tone(f,quart);
Tone(g,quart);
Tone(g,quart);
Tone(f,quart);
Tone(e,quart);
Tone(d,quart);
Tone(c,quart);
Tone(c,quart);
Tone(d,quart);
Tone(e,quart);
Tone(e,quart+eigth);
Tone(d,eigth);
Tone(d,half+quart);
Tone(e,quart);
Tone(e,quart);
Tone(f,quart);
Tone(g,quart);
Tone(g,quart);
Tone(f,quart);
Tone(e,quart);
Tone(d,quart);
Tone(c,quart);
Tone(c,quart);
Tone(d,quart);
Tone(e,quart);
Tone(d,quart+eigth);
Tone(c,eigth);
Tone(c,half+quart);
Tone(d,quart);
Tone(d,quart);
Tone(e,quart);
Tone(c,quart);
Tone(d,quart);
Tone(e,eigth);
Tone(f,eigth);
Tone(e,quart);
Tone(c,quart);
Tone(d,quart);
Tone(e,eigth);
Tone(f,eigth);
Tone(e,quart);
Tone(d,quart);
Tone(c,quart);
Tone(d,quart);
Tone(g/2,half);
Tone(e,half);
Tone(f,quart);
Tone(g,quart);
Tone(g,quart);
Tone(f,quart);
Tone(e,quart);
Tone(d,quart);
Tone(c,quart);
Tone(c,quart);
Tone(d,quart);
Tone(e,quart);
Tone(d,quart+eigth);
Tone(c,eigth);
Tone(c,half+quart);
end;
Bourree :
begin
Tempo := 1.0;
Tone(a,quart);
Tone(h,quart);
Tone(2*c,quart+eigth);
Tone(h,eigth);
Tone(a,quart+eigth);
Tone(gis,quart+eigth);
Tone(a,eigth);
Tone(h,quart+eigth);
Tone(e,quart+eigth);
Tone(fis,eigth);
Tone(gis,quart+eigth);
Tone(a,quart+eigth);
Pause(quart,Tempo);
Tone(g,quart);
Tone(f,quart);
Tone(e,quart+eigth);
Tone(d,eigth);
Tone(c,quart+eigth);
Tone(h/2,quart+eigth);
Tone(c,eigth);
Tone(d,quart+eigth);
Tone(e,quart+eigth);
Tone(d,quart);
Tone(c,quart);
Tone(h/2,quart);
Tone(a/2,half);
Pause(quart,Tempo)
end;
RadioHamburg :
begin
Tempo := 1.0;
Tone(f,quart);
Tone(d,quart);
Tone(g,quart);
Tone(e,half);
Tone(c,quart);
Pause(half,Tempo);
end;
Internationale :
begin
Tempo := 1.0;
// Völker höret die Signale
Tone(e,quart+eigth);
Tone(d,eigth);
Tone(c,half);
Tone(g0,half);
Tone(g0,half);
Tone(g0,half);
Tone(a0,half);
Tone(a0,half);
Pause(quart,Tempo);
// auf zum letzten gefecht
Tone(d,quart+eigth);
Tone(c,eigth);
Tone(h0,full);
Tone(a0,half);
Tone(g0,half);
Tone(e,full);
Pause(half,Tempo);
// die Internationale
Tone(e,quart);
Tone(g,half+quart);
Tone(g,quart);
Tone(f,half);
Tone(e,half);
Tone(d,half);
Tone(e,half);
Tone(f,half);
Pause(half,Tempo);
// erkämpft das Menschenrecht
Tone(f,quart);
Tone(e,half+quart);
Tone(c,quart);
Tone(d,half+quart);
Tone(h0,quart);
Tone(c,full);
Pause(half,Tempo);
end;
Sailing :
begin
Tempo := 4.0 / 3.0;
Tone(e,quart);
Tone(g,quart);
Tone(a,half);
Tone(a,quart);
Pause(quart,Tempo);
Tone(h,quart);
Tone(d*2,quart);
Tone(e*2,half);
Tone(e*2,quart);
Pause(quart,Tempo);
Tone(e*2,quart+eigth);
Tone(d*2,eigth);
Tone(d*2,half);
Tone(c*2,quart+eigth);
Pause(eigth,Tempo);
Tone(c*2,quart+eigth);
Tone(h,eigth);
Tone(h,half);
Pause(eigth,Tempo);
Tone(c*2,quart);
Tone(h,quart);
Tone(a,half);
Tone(a,quart+eigth);
Pause(eigth,Tempo);
Tone(h,quart);
Tone(a,quart);
Tone(g,half);
Tone(g,quart+eigth);
Pause(eigth,Tempo);
Tone(e,quart);
Tone(e,quart);
Tone(h,half);
Tone(a,quart+eigth);
Pause(eigth,Tempo);
Tone(a,quart);
Tone(g,quart);
Tone(g,half);
Pause(quart,Tempo)
end;
Ding :
begin
Tempo := 1.5;
Tone(e,eigth);
Tone(e,eigth)
end;
DingDong :
begin
Tempo := 1.5;
Tone(e,eigth);
Tone(e,eigth);
Tone(c,eigth);
Tone(c,eigth)
end;
DieGedankensindfrei :
begin
tempo := 1.5;
Tone(e,eigth);
Tone(e,eigth);
Tone(a,quart);
Tone(a,quart);
Tone(cis,eigth);
Tone(a,eigth);
Tone(e,half);
Tone(e,quart);
Tone(d,Quart);
Tone(h,Quart);
Tone(e,Quart);
Tone(c,Quart);
Tone(a/2,Quart);
Pause(full,Tempo);
Tone(a,Quart);
Tone(gis,Quart);
Tone(h,Quart+eigth);
Tone(gis,eigth);
Tone(a,Quart);
Tone(cis,Quart);
Tone(a,Quart);
Tone(gis,Quart);
Tone(h,Quart+eigth);
Tone(gis,eigth);
Tone(a,Quart);
Tone(cis,Quart);
Tone(a,Quart);
Tone(fis,Quart);
Tone(fis,Quart);
Tone(a,eigth);
Tone(fis,eigth);
Tone(e,half);
Tone(e,eigth);
Tone(cis,eigth);
Tone(cis,eigth);
Tone(h,eigth);
Tone(a,Quart);
Tone(gis,Quart);
Tone(a,half);
end;
Alarm :
begin
BaseTone := 880;
Offset := 440;
for j := 1 to 200 do
begin
Hz := BaseTone + sin(j*2*3.1415/300)*Offset;
PCSpeakerBeep(Trunc(Hz),10+j div 4);
//SetVoiceSound(1,trunc(Hz),10+j div 4)
end;
end;
end;
end; {Sounder}
function SendMail(SMTP:TIdSMTP;Host:String;User:String;Password:String;
From:String;ToId:String;Subject:String;Body:String):String;
var MAilMessage:TidMessage;Status:String;
begin
//setup SMTP
SMTP.Host := Host;
SMTP.Port := 25;
SMTP.Username := Trim(User);
SMTP.Password := Trim(Password);
Status:='';
//setup mail message
MailMessage:=TIdMessage.Create;
MailMessage.From.Address := Trim(From);
MailMessage.Recipients.EMailAddresses := trim(ToId);
MailMessage.Subject := Trim(Subject);
MailMessage.Body.Text := Body;
//send mail
try
try
SMTP.Connect;
SMTP.Send(MailMessage);
except on E:Exception do
Status:='ERROR: ' + E.Message;
end;
finally
if SMTP.Connected then
SMTP.Disconnect;
end;
SendMAil:=Status
end; (* btnSendMail Click *)
function MailServerTest(SMTP:TIdSMTP;Host:String;User:String;Password:String):boolean;
var MAilMessage:TidMessage;Status:boolean;
begin
//setup SMTP
SMTP.Host := Host;
SMTP.Port := 25;
Status:=true;
//setup mail message
MailMessage:=TIdMessage.Create;
MailMessage.From.Address := 'From';
MailMessage.Recipients.EMailAddresses := 'ToId';
MailMessage.Subject := 'Subject';
MailMessage.Body.Text := 'Body';
//send mail
try
try
SMTP.Connect;
except on E:Exception do
Status:=false;
end;
finally
if SMTP.Connected then begin
SMTP.Disconnect;
end
else
Status:=false;
end;
MailServerTest:=Status
end; (* btnSendMail Click *)
//---------------------------------------------------------------------------
// get country name from ISO code
//---------------------------------------------------------------------------
function Country(tld: String):integer;
const codes: array[1..251] of String =
('AC - Ascension Island'
,'AD - Andorra'
,'AE - United Arab Emirates'
,'AF - Afghanistan'
,'AG - Antigua and Barbuda'
,'AI - Anguilla'
,'AL - Albania'
,'AM - Armenia'
,'AN - Netherlands Antilles'
,'AO - Angola'
,'AQ - Antarctica'
,'AR - Argentina'
,'AS - American Samoa'
,'AT - Austria'
,'AU - Australia'
,'AV - Anguila'
,'AW - Aruba'
,'AX - Aland Islands'
,'AZ - Azerbaijan'
,'BA - Bosnia and Herzegovina'
,'BB - Barbados'
,'BD - Bangladesh'
,'BE - Belgium'
,'BF - Burkina Faso'
,'BG - Bulgaria'
,'BH - Bahrain'
,'BI - Burundi'
,'BJ - Benin'
,'BM - Bermuda'
,'BN - Brunei Darussalam'
,'BO - Bolivia'
,'BR - Brazil'
,'BS - Bahamas'
,'BT - Bhutan'
,'BV - Bouvet Island'
,'BW - Botswana'
,'BY - Belarus'
,'BZ - Belize'
,'CA - Canada'
,'CC - Cocos (Keeling) Islands'
,'CD - Congo, Democratic Republic'
,'CF - Central African Republic'
,'CG - Congo'
,'CH - Switzerland'
,'CI - Cote D`Ivoire (Ivory Coast)'
,'CK - Cook Islands'
,'CL - Chile'
,'CM - Cameroon'
,'CN - China'
,'CO - Colombia'
,'CR - Costa Rica'
,'CS - Czechoslovakia (former)'
,'CU - Cuba'
,'CV - Cape Verde'
,'CX - Christmas Island'
,'CY - Cyprus'
,'CZ - Czech Republic'
,'DE - Germany'
,'DJ - Djibouti'
,'DK - Denmark'
,'DM - Dominica'
,'DO - Dominican Republic'
,'DZ - Algeria'
,'EC - Ecuador'
,'EE - Estonia'
,'EG - Egypt'
,'EH - Western Sahara'
,'ER - Eritrea'
,'ES - Spain'
,'ET - Ethiopia'
,'FI - Finland'
,'FJ - Fiji'
,'FK - Falkland Islands (Malvinas)'
,'FM - Micronesia'
,'FO - Faroe Islands'
,'FR - France'
,'FX - France, Metropolitan'
,'GA - Gabon'
,'GB - Great Britain (UK)'
,'GD - Grenada'
,'GE - Georgia'
,'GF - French Guiana'
,'GF - Guernsey'
,'GH - Ghana'
,'GI - Gibraltar'
,'GL - Greenland'
,'GM - Gambia'
,'GN - Guinea'
,'GP - Guadeloupe'
,'GQ - Equatorial Guinea'
,'GR - Greece'
,'GS - S. Georgia and S. Sandwich Isls.'
,'GT - Guatemala'
,'GU - Guam'
,'GW - Guinea-Bissau'
,'GY - Guyana'
,'HK - Hong Kong'
,'HM - Heard and McDonald Islands'
,'HN - Honduras'
,'HR - Croatia (Hrvatska)'
,'HT - Haiti'
,'HU - Hungary'
,'ID - Indonesia'
,'IE - Ireland'
,'IL - Israel'
,'IM - Isle of Man'
,'IN - India'
,'IO - British Indian Ocean Territory'
,'IQ - Iraq'
,'IR - Iran'
,'IS - Iceland'
,'IT - Italy'
,'JE - Jersey'
,'JM - Jamaica'
,'JO - Jordan'
,'JP - Japan'
,'KE - Kenya'
,'KG - Kyrgyzstan'
,'KH - Cambodia'
,'KI - Kiribati'
,'KM - Comoros'
,'KN - Saint Kitts and Nevis'
,'KP - Korea (North)'
,'KR - Korea (South)'
,'KW - Kuwait'
,'KY - Cayman Islands'
,'KZ - Kazakhstan'
,'LA - Laos'
,'LB - Lebanon'
,'LC - Saint Lucia'
,'LI - Liechtenstein'
,'LK - Sri Lanka'
,'LR - Liberia'
,'LS - Lesotho'
,'LT - Lithuania'
,'LU - Luxembourg'
,'LV - Latvia'
,'LY - Libya'
,'MA - Morocco'
,'MC - Monaco'
,'MD - Moldova'
,'MG - Madagascar'
,'MH - Marshall Islands'
,'MK - F.Y.R.O.M. (Macedonia)'
,'ML - Mali'
,'MM - Myanmar'
,'MN - Mongolia'
,'MO - Macau'
,'MP - Northern Mariana Islands'
,'MQ - Martinique'
,'MR - Mauritania'
,'MS - Montserrat'
,'MT - Malta'
,'MU - Mauritius'
,'MV - Maldives'
,'MW - Malawi'
,'MX - Mexico'
,'MY - Malaysia'
,'MZ - Mozambique'
,'NA - Namibia'
,'NC - New Caledonia'
,'NE - Niger'
,'NF - Norfolk Island'
,'NG - Nigeria'
,'NI - Nicaragua'
,'NL - Netherlands'
,'NO - Norway'
,'NP - Nepal'
,'NR - Nauru'
,'NT - Neutral Zone'
,'NU - Niue'
,'NZ - New Zealand (Aotearoa)'
,'OM - Oman'
,'PA - Panama'
,'PE - Peru'
,'PF - French Polynesia'
,'PG - Papua New Guinea'
,'PH - Philippines'
,'PK - Pakistan'
,'PL - Poland'
,'PM - St. Pierre and Miquelon'
,'PN - Pitcairn'
,'PR - Puerto Rico'
,'PS - Palestinian Territory, Occupied'
,'PT - Portugal'
,'PW - Palau'
,'PY - Paraguay'
,'QA - Qatar'
,'RE - Reunion'
,'RO - Romania'
,'RU - Russian Federation'
,'RW - Rwanda'
,'SA - Saudi Arabia'
,'SB - Solomon Islands'
,'SC - Seychelles'
,'SD - Sudan'
,'SE - Sweden'
,'SG - Singapore'
,'SH - St. Helena'
,'SI - Slovenia'
,'SJ - Svalbard & Jan Mayen Islands'
,'SK - Slovak Republic'
,'SL - Sierra Leone'
,'SM - San Marino'
,'SN - Senegal'
,'SO - Somalia'
,'SR - Suriname'
,'ST - Sao Tome and Principe'
,'SU - USSR (former)'
,'SV - El Salvador'
,'SY - Syria'
,'SZ - Swaziland'
,'TC - Turks and Caicos Islands'
,'TD - Chad'
,'TF - French Southern Territories'
,'TG - Togo'
,'TH - Thailand'
,'TJ - Tajikistan'
,'TK - Tokelau'
,'TM - Turkmenistan'
,'TN - Tunisia'
,'TO - Tonga'
,'TP - East Timor'
,'TR - Turkey'
,'TT - Trinidad and Tobago'
,'TV - Tuvalu'
,'TW - Taiwan'
,'TZ - Tanzania'
,'UA - Ukraine'
,'UG - Uganda'
,'UK - United Kingdom'
,'UM - US Minor Outlying Islands'
,'US - United States'
,'UY - Uruguay'
,'UZ - Uzbekistan'
,'VA - Vatican City State (Holy See)'
,'VC - Saint Vincent & the Grenadines'
,'VE - Venezuela'
,'VG - British Virgin Islands'
,'VI - Virgin Islands (U.S.)'
,'VN - Viet Nam'
,'VU - Vanuatu'
,'WF - Wallis and Futuna Islands'
,'WS - Samoa'
,'YE - Yemen'
,'YT - Mayotte'
,'YU - Yugoslavia'
,'ZA - South Africa'
,'ZM - Zambia'
,'ZR - Zaire'
,'ZW - Zimbabwe');
var i,inx:integer;
begin
inx:=0;
for i:=low(codes) to high(codes) do
if pos(UpperCase(tld),codes[i])=1 then
inx:=i;
country:=inx;
end;
end.
¤ Dauer der Verarbeitung: 0.36 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|