Нужно поменять Owner Name в файлах tps

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 5157
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение kreator »

Много файлов, да и ещё у клиентов. Есть какая-то идея упростить работу? Или писать тупой конвертер?
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

Тупо писать...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5226
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 63 раза

Нужно поменять Owner Name в файлах tps

Сообщение finsoftrz »

Можно тупой шаблон...
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

finsoftrz писал(а): 12 Сентябрь 2024, 13:23 Можно тупой шаблон...
Шаблон дольше писать, если файлов меньше полусотни. Пример: конвертер, который генерит словарь, полон глюков.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5226
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 63 раза

Нужно поменять Owner Name в файлах tps

Сообщение finsoftrz »

От опыта зависит. Пишешь конвертер на один файл, затем превращаешь его в шаблон.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

finsoftrz писал(а): 12 Сентябрь 2024, 13:45 От опыта зависит. Пишешь конвертер на один файл, затем превращаешь его в шаблон.
"Какой ты умный, это что-то!" :dizzy:

Там же надо проходить по всем переменным и генерить в зависимости от типа... :=: или = не во всех случаях помогает. :facepalm:

Не помню, кажется глюк с присвоением GROUP в рантайме исправили, но не проверял.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

Как вариант, можно попробовать через WHO/WHAT и т.п., но надо смотреть.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5226
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 63 раза

Нужно поменять Owner Name в файлах tps

Сообщение finsoftrz »

Он же овнера хотел поменять только. Задаёшь в промптах старого и нового, натравливаешь на словарь. Структура не меняется. Если с изменением структуры, то могут быть нюансы, если какие заумные вещи использовать. Если только базовые типы данных, то вообще никаких проблем. У меня лет 20 подобной автоматический конвертор работает, включая подъем структуры на несколько версий вперед.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

finsoftrz писал(а): 12 Сентябрь 2024, 14:06 Задаёшь в промптах старого и нового, натравливаешь на словарь.
:dizzy: Я написал, что для нормального конвертера, универсального, надо пройтись по куче условий и отладить.

Потому и проще, если файлов меньше пары десятков - пройтись ручками.
Это я только кажусь дураком! На самом деле я полный идиот!
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Нужно поменять Owner Name в файлах tps

Сообщение gopstop2007 »

Пользуюсь такой конструкцией для создании копии любого файла

Код: Выделить всё

   Fields.Init
   
   sourceRec &= pFm_.File{PROP:Record}
   targetRec &= pFm2_.File{PROP:Record}
   LOOP F = 1 TO 999
      IF WHO(targetRec,F) = '' THEN BREAK END
      Fields.AddPair(WHAT(targetRec,F),WHAT(sourceRec,F))
   END
!    LOCK(pFM2_.File)
    STREAM(pFM2_.File)
    SET(pFM_.File)
    Loop while pFM_.Next() = Level:Benign     
        CLEAR(targetRec)
        Fields.AssignRightToLeft()

!        ADD(pFM2_.File)
        IF ~pFM2_.Insert() = Level:Benign
             Message('Ошибка: '& ERRORCODE() &' : '& ERRORFILE(),'Ошибка')
             BREAK
        END
    END
    FLUSH(pFM2_.File)
!    UNLOCK(pFM2_.File)
   Fields.Kill
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5157
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение kreator »

gopstop2007, а можно поподробнее про конструкцию для копии файла. Файлов, которые нужно конвертить, порядка 300. Хотелось бы автоматизации. Шаблон писать пока не представляю как. Хотел на основе стандартного механизма для одного файла размножить на остальные.
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

kreator писал(а): 14 Сентябрь 2024, 13:39 gopstop2007, а можно поподробнее про конструкцию для копии файла. Файлов, которые нужно конвертить, порядка 300. Хотелось бы автоматизации. Шаблон писать пока не представляю как. Хотел на основе стандартного механизма для одного файла размножить на остальные.
Самое сложное - правильно обрабатывать "сложные" поля. В принципе, всё можно сделать через примитивное присвоение, кроме BLOB
Это я только кажусь дураком! На самом деле я полный идиот!
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Нужно поменять Owner Name в файлах tps

Сообщение gopstop2007 »

kreator писал(а): 14 Сентябрь 2024, 13:39 gopstop2007, а можно поподробнее про конструкцию для копии файла. Файлов, которые нужно конвертить, порядка 300. Хотелось бы автоматизации. Шаблон писать пока не представляю как. Хотел на основе стандартного механизма для одного файла размножить на остальные.
Наваял простой пример из своего проекта, упростил (там использовались файлы odbc, memory, tps), оставил только tps.
Просьба к админу бросьте в FAQ.
Пример на C10 ABC
Губин Игорь писал(а): 14 Сентябрь 2024, 15:47
kreator писал(а): 14 Сентябрь 2024, 13:39 gopstop2007, а можно поподробнее про конструкцию для копии файла. Файлов, которые нужно конвертить, порядка 300. Хотелось бы автоматизации. Шаблон писать пока не представляю как. Хотел на основе стандартного механизма для одного файла размножить на остальные.
Самое сложное - правильно обрабатывать "сложные" поля. В принципе, всё можно сделать через примитивное присвоение, кроме BLOB
С простым присвоением были проблемы, а с BLOB не пробовал )
Вложения
copyListFiles.zip
(41.21 КБ) 291 скачивание
Последний раз редактировалось gopstop2007 15 Сентябрь 2024, 10:53, всего редактировалось 1 раз.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2571
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Нужно поменять Owner Name в файлах tps

Сообщение Губин Игорь »

да, виноват. Не работал с ABC и не знаком с их библиотеками классов (тут FieldPairsClass).

НО!
The FieldPairsClass has the disadvantage of not handling arrays (because the FieldPairsClass relies on the ANY datatype which only accepts references to simple datatypes). See the Language Reference for more information on the ANY datatype.
Недостаток FieldPairsClass в том, что он не обрабатывает массивы (потому что FieldPairsClass полагается на тип данных ANY, который принимает только ссылки на простые типы данных). Подробнее о типе данных ANY см. в Справочнике по языку.
И, не стал копать, но, похоже, он не обрабатывает Memo и Blob, т.е. то, что вне Record
Это я только кажусь дураком! На самом деле я полный идиот!
Ответить