|
|
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
есть у меня форма. в этой форме в listbox'е чего то написано. я хочу не сохраняя данные из листбокса в файле передать их в листбокс другой формы. как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2006, 16:41 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Господа, так как мне быть то? неужели нельзя обойтись без ненужного сохранения в файле? мне нужно просто передать эти данные в другую форму для редактирования. далее уже будет производиться сохранение. (окончательного варианта данных, а не промежуточного). подскажите пожалуста кто знает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 16:07 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Отче! А зачем в файл сохранять-то? Есть контрол... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 18:41 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
не понял. можно подробнее? есть куча всего написанного в листбоксе + данные, которые туда (в этот листбокс не входят). мне надо что бы эти данные были отображены в другом листбоксе другой формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 20:00 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Пишу на неком абстрактном языке (лень на C++ потомучто) Код: plaintext 1. Что непонятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 22:12 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
maytonForm2.ListControl2 := Form1.ListControl1; так мы же форму эту предварительно закрываем, то есть все данные листбокса уничтожаются ещё до передачи в другую форму! ну и ещё вопрос: как проще перенести из одного листбокса (ну напр. листбох1) все данные в другой листбокс (напр. листбох2), если в листбох2 уже содержатся какие то данные? кроме цикла в голову ничего не приходит, поэтому и спросил, может это можно как-то одной командой написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 08:12 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Дьяктак мы же форму эту предварительно закрываем, то есть все данные листбокса уничтожаются ещё до передачи в другую форму! поэтому и напрашивается мысль эти данные куда то сохранять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 08:14 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Дьяк Дьяктак мы же форму эту предварительно закрываем, то есть все данные листбокса уничтожаются ещё до передачи в другую форму! поэтому и напрашивается мысль эти данные куда то сохранять... Записывай данные в другую форму при закрытии первой формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 09:40 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
пишу на кнопке закрытия формы: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 11:54 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
ну и кроме этой ошибки остается в силе вопрос: как скопировать данные из первого листбокса во второй, если во втором уже содержатся записи? это можно сделать только построчно в цикле или может есть какая-нибудь специальная функция? (MS VC, MFC) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 15:12 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Копируйте в цикле. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 16:02 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
а что делать с этой ошибкой? как правильно написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 15:42 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Дьякпишу на кнопке закрытия формы: Код: plaintext 1. 2. в файл - это Вы погорячились. Не, ну можно конечно же писать не только в файл а ышо ждать флэшку пользователя, пока не вставит...Но как то Ваше предложение не из данной оперы вообще. как один из вариантов.. 1) в том месте где Вы вызываете свой диаложек(я так понял что модальный) с методом DoModal() - по уму вы должны отработать код возврата (а нахфига что то сохранять, если нажали канцель?) и написать нечто Код: plaintext 1. 2. 3. 4. 5. 6. 7. 2) нуна снабдить Ваш диаложек некими методами которые вернут Вам ссылку на данные либо сами данные из первого диаложка (енто чтоб грамотно создать видимость инкапсуляции). 3) в новом диаложке создать методы по инициализации этих самих данных (не ну мона конечно и напрямую тук-тук к внутренним членам класса - дабы не извращаться, хозяин барин дык сказать..) 4) в скобочках ОКЕЙно вставить а) создание второго диаложка б) зов методов из первого диаложка и передачу возвращаемого ими результат во второй диаложек и позвать DoModal() второго диаложка... с уважением (круглый) ЗЫ Если я Вас правильно понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 18:30 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
как раз второй диалог является немодальным. первый модальный (тот из которого берем), а второй - нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 19:07 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Дьяккак раз второй диалог является немодальным. первый модальный (тот из которого берем), а второй - нет... если второй не модальный, то... 1) время жизни данных извлечённых из первого диаложка - не должно зависить от времени жизни этого диаложка.. 2) возможна работа не модального диаложка и без данных (с пустыми)... отсюда напрашивается инкапсуляция этих самих данных в нечто удобное для юзанья (перемещения)... например класс или структуру. Остаёться сделать ей методы инициализации, копирования, возможно работу с нужными Вам контролами... Управлять временем жизни данных, используемых в не модальном диаложке, должен код отвечающий за разбор очереди не модального диаложка. где то так (первое, что пришло на ум)... с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 19:22 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
ага, с этим разобрался, спасибо. теперь по поводу добавления в конец одного листбокса данных из другого листбокса: напр. что бы получит значение в эдите из листбокса, писал так: Код: plaintext Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 19:29 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Дьяк....почему на этой строке выдается фатальная ошибка, хотя всё сделано по аналогии????????? я лучше кусок из МСДНа приведу... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. и пару коментариев... Хочу обратить Ваше внимание на работу с CString(ом) - это аллокирование массива байт и после использования - освобождения. Надо помнить, что данный класс хранит любые символы, в том числе и нули (очень частая ошибка в предположении, что нулём мона обрезать его длину - кстати не плохой тест на достаточно сильные познания в MFC)... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 19:38 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
этот пример тоже вызывает фатальную ошибку. подскажите лучше если можно что надо переделать в моем коде ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 17:47 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
приведенный Вами пример вызывает фатальную ошибку на первой же строке: Код: plaintext мне кажется у меня проблемма просто в том, что я не могу присвоить переменной текущую строку листбокса. как это сделать? у меня такой код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 09:50 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
Я бы создал вектор для данных в обеих формах. При закрытии первой данные она сама перегоняет в вектор, остаётся только подсунуть вектор второй форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 09:56 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
kolobok0класс хранит любые символы, в том числе и нули Символом нуля('0') вообще сложно что-либо обрезать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 10:32 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
niknameЯ бы создал вектор для данных в обеих формах. При закрытии первой данные она сама перегоняет в вектор, остаётся только подсунуть вектор второй форме.Здесь уже речь не о двух формах. оба листбокса находится в одной форме. мне кажется для того что бы перегнать данные из одного листбокса в другой не стоит создавать вектор. поэтому я хотел сделать так: берем первую строку листбокса, загоняем её в какую-то переменную, а потом значение этой переменной присваиваем строке другого листбокса. только присвоить текущее значение листбокса переменной у меня как раз и не выходит, потому что выдается фатальная ошибка! hellСимволом нуля('0') вообще сложно что-либо обрезать :-)так как объявить эту злощасную STR что бы ей можно было присвоить текущее значение листбокса????????? че то правда не догоняю 8-( если знаете - подскажите пожалуста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 11:21 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
можь все таки здесь есть человек, который знает что делать с этими типами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 18:46 |
|
||
|
VC++ Передача данных
|
|||
|---|---|---|---|
|
#18+
у меня к Вам большучая просьба, если кому не влом - поместите 2 заполненных листбокса и кнопку (которая перебросит из одного листбокса в другой) на одну форму, и воспользуйтесь напр. моим кодом или кодом колобка, у Вас это вызовет ошибку или нет? может вас натолкнет на мысль как исправить её? я честно непонимаю что с ней делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 06:43 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=348&tid=2031003]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 404ms |

| 0 / 0 |
