а привет
создаем табличку: тип, старый ID, новый ID
выгружаем объекты в текст.
IF FileName = '' THEN
ERROR('файлик не выбран');
F.OPEN(FileName);
F.TEXTMODE(TRUE);
F1.CREATE(<новое имя файла>);
F1.TEXTMODE(TRUE);
F1.WRITEMODE(TRUE);
REPEAT
//_pos := F.POS;
CLEAR(fString);
F.READ(fString);
ConvertString();
//F.SEEK(_pos);
F1.WRITE(fString);
UNTIL F.POS = F.LEN;
F.CLOSE;
F1.CLOSE;
ConvertString()
IF <табличка>.FIND('-') THEN REPEAT
CLEAR(_From);
CLEAR(_To);
_From := FORMAT(<табличка>.Type) + ' ' + FORMAT(<табличка>."ID From");
_To := FORMAT(<табличка>.Type) + ' ' + FORMAT(<табличка>."ID To");
IF STRPOS(fString, _From) <> 0 THEN BEGIN
//MESSAGE(fString);
fString := COPYSTR(fString, 1, STRPOS(fString, _From)-1)
+ _To
+ COPYSTR(fString, STRPOS(fString, _From) + STRLEN(_From));
//MESSAGE(fString);
END;
_From := FORMAT(<табличка>.Type) + FORMAT(<табличка>."ID From");
_To := FORMAT(<табличка>.Type) + FORMAT(<табличка>."ID To");
IF STRPOS(fString, _From) <> 0 THEN BEGIN
fString := COPYSTR(fString, 1, STRPOS(fString, _From)-1)
+ _To
+ COPYSTR(fString, STRPOS(fString, _From) + STRLEN(_From));
END;
_From := 'Record ' + FORMAT(<табличка>."ID From");
_To := 'Record ' + FORMAT(<табличка>."ID To");
IF STRPOS(fString, _From) <> 0 THEN BEGIN
fString := COPYSTR(fString, 1, STRPOS(fString, _From)-1)
+ _To
+ COPYSTR(fString, STRPOS(fString, _From) + STRLEN(_From));
END;
UNTIL <табличка>.NEXT = 0;
далее импортируем текстовичек в пустую базу (в эту же нельзя, название объектов)
почти все переносится, не помню где какой-то хвостик остается
с переносом данных не помогу.
|