Strinsert

Internφ programovacφ jazykSQL

function Strinsert(var source : string; var s : string; index : short) : string;

Parametry

source vklßdan² °et∞zec znak∙
s °et∞zec znak∙, do n∞ho₧ se vklßdß
index pozice v °et∞zci s

Popis

Funkce Strinsert vlo₧φ do °et∞zce s od pozice index °et∞zec source. ╪et∞zce se indexujφ od 1. V²slednß dΘlka °et∞zce s nesmφ p°ekroΦit dΘlku zadanou v jeho deklaraci, jinak m∙₧e dojφt ke zhroucenφ systΘmu.

Pomocφ procedury Strinsert m∙₧ete vytvß°et i °et∞zce delÜφ ne₧ 255 znak∙, co₧ spojovßnφm °et∞zc∙ pomocφ operßtoru + nebo funkce Strcat nelze.

Hodnota funkce

V²sledn² °et∞zec je takΘ funkcφ vrßcen, aby funkci bylo mo₧no pou₧φt nap°. v SQL p°φkazu.

P°φklad

function NovaTabulka : string[10];
{**************************************}
// vytvo°φ pomocnou tabulku pro kopii dat pro tisk
// pokud se to povede, vrßtφ jmΘno tabulky, jinak prßzdn² string
var
  tabname : string[10];
  SQL_stat : string[1000];
  pomstr : string[30];
begin
  tabname := NoveJmenoTabulky;
  SQL_stat := ' ( CISLO INT, '
    'FIRMA CHAR(30) COLLATE CSISTRING, '
    'CLOVEK CHAR(25) COLLATE CSISTRING, '
    'ULICE CHAR(30) COLLATE CSISTRING, '
    'MESTO CHAR(30) COLLATE CSISTRING, '
    'PSC CHAR(6), '
    'TEL CHAR(25) COLLATE CSISTRING, '
    'FAX CHAR(25) COLLATE CSISTRING, '
    'DATUM DATE) '
  pomstr := 'CREATE TABLE '+ tabname; 
  StrInsert(pomstr,SQL_stat,1);

  if SQL_execute(SQL_stat) then begin 
    Signalize;
    NovaTabulka := "";
  end else NovaTabulka := tabname;  
end;

Viz