Всем доброго времени суток!
Сейчас делал система сохранений для своей программы. Имеется от нуля до множества панелей (панель состоит из простого Memo), для каждой нужно сделать свою "ячейку", то есть нужно хранить путь к файлу (если пути нет -- открывать диалог и записывать то, что юзер выбрал). Это часть, в общем-то, сделана, но почему-то не работает. Прошу помочь, кто разбирается.
Вот выдранный из схемы кусок, отвечающий за сохранения, с комментариями:
code_28219.txt
Этот топик читают: Гость
|
Ответов: 1173
Рейтинг: 49
|
|||
| карма: 0 |
| ||
| файлы: 1 | code_28219.txt [3KB] [94] |
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
Ex_ писал(а): но почему-то не работаетА что не работает ------------ Дoбавленo в 04.11: Ex_ писал(а): если пути нет -- открывать диалог и записывать то, что юзер выбралИ куда ты его писать собрался, если пути в списке нет, то и индекса массива тоже может не быть, особенно, если это первый раз |
|||
| карма: 22 |
|
|
Ответов: 1173
Рейтинг: 49
|
|||
|
nesco писал(а): при старте или добавлении оформит количество пустых строк в списке по количеству панелей------------ Дoбавленo в 15.45: nesco, сделал так, как вы сказали. Но теперь у меня не проходит проверка на "пустоту" строки, что странно, ведь при подключении MessageBox он вызывается с пустыми данными. Но проверки If_Else на пустой String или на Null не проходят. Вот схема, где я попробовал вставить проверку на основе Mask -- не помогает: |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
Ex_, я че, буду виртуально рассматривать твою схему
------------ Дoбавленo в 17.12: Ex_, на кой черт там вообще перевод строки при добавлении, добавляется пустая строка простым doAdd, а ты туда еще пытаешься что-то загнать, и маска там совсе не нужна, достаточно обычный Case поставить на выходе с проверкой на пустую строку |
|||
| карма: 22 |
|
|
Ответов: 1173
Рейтинг: 49
|
|||
|
nesco писал(а): я че, буду виртуально рассматривать твою схемуnesco писал(а): на кой черт там вообще перевод строки при добавленииnesco писал(а): обычный Case------------ Дoбавленo в 17.56: nesco, сейчас последовал вашему совету, убрал /r/n и поставил Case. Однако тут был ещё один косяк -- дело в том, что я немного не туда впилил хаб, и в doAdd у меня подавалось название схемы (то, что подавалось в ##add экс-панели), соответственно, проверка на пустую строку никогда не проходила. Теперь всё работает (правда, с закрытием вкладок что-то не то, но это я и сам поправлю). Спасибо за помощь! |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
Ex_ писал(а): и поставил CaseВообще-то Case можно заменить на If_Else, если нужно проверять данные сверху, а не из потока, а то Case для проверки данных сверху лишний компонент нужен |
|||
| карма: 22 |
|
|
Ответов: 1173
Рейтинг: 49
|
|||
|
nesco писал(а): если нужно проверять данные сверху------------ Дoбавленo в 18.24: Благодаря Case я даже избавился от Memory и doData - он ведь на NextCase выдаёт исходные данные. |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
Ex_ писал(а): он ведь на NextCase выдаёт исходные данныеIf_Else тоже выдает, на оба выхода |
|||
| карма: 22 |
|
|
Ответов: 1173
Рейтинг: 49
|
|||
|
[offtop]
nesco писал(а): If_Else тоже выдает, на оба выхода |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
Ex_, у Case есть одно неоспоримое преимущество -- он более быстрый, чем If_Else
|
|||
| карма: 22 |
|
10



Поиск
Друзья
Администрация