Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2

Межстрочная вставка

30.08.2012, 01:05. Показов 3812. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим у меня есть список

1
2
3

Есть ли какая нибудь функция чтобы вставить текст между строчек
1
2
вставленная строка
3

???

Я просто хочу добиться эффекта развертывания элемента списка на его подзаголовки..
И может предложите свой вариант...

Взбрело в голову и теперь пока не решу не успокоюсь...

Так же не могу никак придумать способ свертывания подзаголовков...

ПОМОГИТЕ!!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2012, 01:05
Ответы с готовыми решениями:

Межстрочная разлиновка в textarea
Доброго времени суток. Нужно сделать такую штуку: . Этот вариант сделан с помощью фонового изображения, установленного textarea, ...

Изменение почтового шаблона, вставка графики в письмо (типа логотипа) + вставка картинки в шаблоне
Здравствуйте) Возникло 2 вопроса. 1)Хочется сделать красивый почтовый шаблон с использованием графики. Возможно ли сделать это...

Autocad 2013. При повторном открытии /dwg не отображаются файлы /pdf, вставка производилась "вставка .pdf"
Приветствую! Работа производилась в autocad 2013. При повторном открытии /dwg не отображаются файлы /pdf, вставка производилась при...

15
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.08.2012, 01:23
Egor138, вставить где в файле?Нет таковой функции нету, можно либо перезаписать вторую строку и дописать 3-ю (это если мы больше строк делаем), либо выкопировать всё в буффер, там преобразовать а затем по новой создать тот же файл...
Конечно в АПИ есть козырный ход по усечени файла
SetEndOfFile http://vsokovikov.narod.ru/New... offile.htm
но так и файлик нуна открывать с помощью CreateFile.
Для строк же всё тривиально по моему...

Не по теме:

PS:в твоём посте много не ясностей, так что ответил на основании того что привёл

1
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
30.08.2012, 01:28  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Egor138, вставить где в файле?Нет таковой функции нету, можно либо перезаписать вторую строку и дописать 3-ю (это если мы больше строк делаем), либо выкопировать всё в буффер, там преобразовать а затем по новой создать тот же файл...
Конечно в АПИ есть козырный ход по усечени файла
SetEndOfFile http://vsokovikov.narod.ru/New... offile.htm
но так и файлик нуна открывать с помощью CreateFile.
Для строк же всё тривиально по моему...

Не по теме:

PS:в твоём посте много не ясностей, так что ответил на основании того что привёл

НЕТ не в файле... Все происходит в консоли. Нажал на заголовок - под ним появились подзаголовки...
0
Twilight Parasite
 Аватар для Invader_Zim
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.08.2012, 01:32
Egor138, в консоли? выпадающий список? Интересный ход. Как мышь перехватывать будете?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.08.2012, 01:36
Цитата Сообщение от Egor138 Посмотреть сообщение
Нажал на заголовок - под ним появились подзаголовки..
- я сломал мозг - меню шоль?Ну дык SetConsoleCursorPosition тебе в помощь
http://vsokovikov.narod.ru/New... sition.htm
Суть - ставь курсор и печатай там где тебе душе угодно

Добавлено через 2 минуты
Egor138, эт тебе в помощь Форматирование текста и изменение цвета текста в консоли

Цитата Сообщение от Invader_Zim Посмотреть сообщение
Как мышь перехватывать будете?
- да можно и мышь перехатить, желание просто надо иметь (для русского человека нет ничего невозможного)
Построить ломаную по заданным вершинам (там ломаная строится в консольке по кликам мыши)
0
Twilight Parasite
 Аватар для Invader_Zim
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.08.2012, 01:36
Egor138, Может сразу GUI? Свой?
0
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
30.08.2012, 01:39  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- я сломал мозг - меню шоль?Ну дык SetConsoleCursorPosition тебе в помощь
http://vsokovikov.narod.ru/New... sition.htm
Суть - ставь курсор и печатай там где тебе душе угодно

Добавлено через 2 минуты
Egor138, эт тебе в помощь Форматирование текста и изменение цвета текста в консоли

- да можно и мышь перехатить, желание просто надо иметь (для русского человека нет ничего невозможного)
Построить ломаную по заданным вершинам (там ломаная строится по кликам мыши)


Я сразу понял что за такой вопрос меня примут сами знаете за кого))


Я знаю как ловить нажатие, но не могу понять как напечатать этот список между строк, а потом также легко его свернуть

Добавлено через 1 минуту
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Egor138, в консоли? выпадающий список? Интересный ход. Как мышь перехватывать будете?


Не мышь а нажатие Enter


Запрос для консоли высок, но очень хочу добиться результата
0
30.08.2012, 01:40

Не по теме:

Цитата Сообщение от Egor138 Посмотреть сообщение
Я знаю как ловить нажатие, но не могу понять как напечатать этот список между строк, а потом также легко его свернуть
- напомни завтра - будем писать;)
Спок нок всем...:sleep:

0
Twilight Parasite
 Аватар для Invader_Zim
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.08.2012, 01:42
-=ЮрА=-,

Не по теме:

Я воплощение первого правила интернета:)
Это Интернет, тут могут послать

0
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
30.08.2012, 01:48  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- напомни завтра - будем писать;)
Спок нок всем...:sleep:

Спасибо напомню)
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.08.2012, 09:50
Цитата Сообщение от Egor138 Посмотреть сообщение
Спасибо напомню)
- Я уже сам себе напомнил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
int iMENU[] = {3,4,2};
int ShowText(HANDLE hOUT, LPCTSTR szText);
 
int main()
{
    int iSub    = 0;
    int iItem   = 0;
    int iSelected = 0;
    int iContinue = 1;
    int nSubItems = 0;
    char szText[256] = {0};
    int nItems  = sizeof(iMENU)/sizeof(iMENU[0]);
    HANDLE hOUT = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD cPOS  = {0};
    while(iContinue)
    {
        FillConsoleOutputCharacter(hOUT,' ',40*80,cPOS,NULL);//Чистка экрана
        SetConsoleCursorPosition(hOUT,cPOS);//Ставим курсор вначало консоли
        SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );//Красим шрифт в интенсивный белый
        ShowText(hOUT, "\tMENU\n");
        //Рисуем менюшку
        for(iItem   = 1; iItem <= nItems; iItem++)
        {
            if(nItems < iSelected)
                iSelected = 0;
            if(iItem == iSelected)
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_GREEN | FOREGROUND_INTENSITY
                );
            else
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );
            sprintf(szText,"Item%d\n",iItem);
            ShowText(hOUT, szText);
            if(iItem == iSelected)
            {
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );
                for(iSub   = 0; iSub < iMENU[iItem - 1]; iSub++)
                {
                    sprintf(szText,"\tSub%c\n",'a' + iSub);
                    ShowText(hOUT, szText);
                }
            }
        }
        if(!iSelected)//Парсим нажатие ключа в режиме выбора основных пунктов
            iSelected = getch() - '0';
        else//Парсим нажатие ключа в режиме выбора подпунктов
        {
            iSub = getch() - 'a';
            if(iSub < iMENU[iSelected - 1])
                sprintf(szText,"EXECUTE > Sub%c\n",'a' + iSub);
            else
                sprintf(szText,"NO FOUND  Sub%c\n",'a' + iSub);
            ShowText(hOUT, szText);
            ShowText(hOUT, "(PRESS ANY KEY TO CONTINUE)\n");
            getch();
            iSelected = 0;
        }
 
    }
    return 0;
}
//Понятное дело данную функцию можно заменить printf-ом
//просто решил показать что существуют ещё способы печати в консольке
//кроме заезженных printf и cout
int ShowText(HANDLE hOUT, LPCTSTR szText)
{
    DWORD  nWritten = 0;
    DWORD  nWrite   = strlen(szText);
    return WriteConsole(hOUT,szText,nWrite,&nWritten,NULL);
}
Миниатюры
Межстрочная вставка   Межстрочная вставка   Межстрочная вставка  

Межстрочная вставка  
Вложения
Тип файла: rar Menu4Egor.exe.rar (12.4 Кб, 28 просмотров)
2
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
30.08.2012, 11:01  [ТС]
Не компилируется

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <iostream>
using namespace std;
 
int iMENU[] = {3,4,2};
int ShowText(HANDLE hOUT, LPCTSTR szText);
 
int main()
{
    int iSub    = 0;
    int iItem   = 0;
    int iSelected = 0;
    int iContinue = 1;
    int nSubItems = 0;
    char szText[256] = {0};
    int nItems  = sizeof(iMENU)/sizeof(iMENU[0]);
    HANDLE hOUT = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD cPOS  = {0};
    while(iContinue)
    {
        FillConsoleOutputCharacter(hOUT,' ',40*80,cPOS,NULL);//Чистка экрана
        SetConsoleCursorPosition(hOUT,cPOS);//Ставим курсор вначало консоли
        SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );//Красим шрифт в интенсивный белый
        ShowText(hOUT, "\tMENU\n");
        //Рисуем менюшку
        for(iItem   = 1; iItem <= nItems; iItem++)
        {
            if(nItems < iSelected)
                iSelected = 0;
            if(iItem == iSelected)
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_GREEN | FOREGROUND_INTENSITY
                );
            else
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );
            sprintf(szText,"Item%d\n",iItem);
            ShowText(hOUT, szText);
            if(iItem == iSelected)
            {
                SetConsoleTextAttribute
                (
                    hOUT,
                    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
                );
                for(iSub   = 0; iSub < iMENU[iItem - 1]; iSub++)
                {
                    sprintf(szText,"\tSub%c\n",'a' + iSub);
                    ShowText(hOUT, szText);
                }
            }
        }
        if(!iSelected)//Парсим нажатие ключа в режиме выбора основных пунктов
            iSelected = getch() - '0';
        else//Парсим нажатие ключа в режиме выбора подпунктов
        {
            iSub = getch() - 'a';
            if(iSub < iMENU[iSelected - 1])
                sprintf(szText,"EXECUTE > Sub%c\n",'a' + iSub);
            else
                sprintf(szText,"NO FOUND  Sub%c\n",'a' + iSub);
            ShowText(hOUT, szText);
            ShowText(hOUT, "(PRESS ANY KEY TO CONTINUE)\n");
            getch();
            iSelected = 0;
        }
 
    }
    return 0;
}
//Понятное дело данную функцию можно заменить printf-ом
//просто решил показать что существуют ещё способы печати в консольке
//кроме заезженных printf и cout
int ShowText(HANDLE hOUT, LPCTSTR szText)
{
    DWORD  nWritten = 0;
    DWORD  nWrite   = strlen(szText);
    return WriteConsole(hOUT,szText,nWrite,&nWritten,NULL);
}

Возникает вот такие ошибки:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1>------ Построение начато: проект: TEST, Конфигурация: Debug Win32 ------
1>Компиляция...
1>TEST.cpp
1>c:\users\егор\desktop\test\test\test.cpp(35) : error C2664: ShowText: невозможно преобразовать параметр 2 из 'const char [7]' в 'LPCTSTR'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\егор\desktop\test\test\test.cpp(54) : error C2664: ShowText: невозможно преобразовать параметр 2 из 'char [256]' в 'LPCTSTR'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\егор\desktop\test\test\test.cpp(65) : error C2664: ShowText: невозможно преобразовать параметр 2 из 'char [256]' в 'LPCTSTR'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\егор\desktop\test\test\test.cpp(78) : error C2664: ShowText: невозможно преобразовать параметр 2 из 'char [256]' в 'LPCTSTR'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\егор\desktop\test\test\test.cpp(79) : error C2664: ShowText: невозможно преобразовать параметр 2 из 'const char [29]' в 'LPCTSTR'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\егор\desktop\test\test\test.cpp(93) : error C2664: strlen: невозможно преобразовать параметр 1 из 'LPCTSTR' в 'const char *'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>Журнал построения был сохранен в "file://c:\Users\Егор\Desktop\TEST\TEST\Debug\BuildLog.htm"
1>TEST - ошибок 6, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.08.2012, 12:10
Цитата Сообщение от Egor138 Посмотреть сообщение
Не компилируется
- хм, ну писал я сутра в 6-й версии, вечером посомтрю в 9-ке. Короче лови проект, открывай его лишь через dsw файл, посмотрим будут или нет ошибки...
Вложения
Тип файла: rar Menu4Egor_proj.rar (7.3 Кб, 38 просмотров)
1
Twilight Parasite
 Аватар для Invader_Zim
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.08.2012, 12:36
-=ЮрА=-,

Не по теме:

А разве хорошо conio.h юзать? Вдруг есму кроссплатформенности захоцца?

0
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
30.08.2012, 12:39  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- хм, ну писал я сутра в 6-й версии, вечером посомтрю в 9-ке. Короче лови проект, открывай его лишь через dsw файл, посмотрим будут или нет ошибки...
Компилируется без проблем но при запуске пишет:

C++
1
Необработанное исключение в "0x74a2db9d" в "Menu4Egor.exe": 0xC0000005: Нарушение прав доступа при записи "0x00000000".
0
30.08.2012, 14:20

Не по теме:

Цитата Сообщение от Invader_Zim Посмотреть сообщение
А разве хорошо conio.h юзать? Вдруг есму кроссплатформенности захоцца?
- да плохо, но думаю Егор ещё без него вряд ли может(а я на основе его настоящих знаний ему помагаю).
На счёт парсинга виртуальных ключей не беспокойся, я знаю как обходиться без гетч Стрелки клавиатуры в консоли (линкую а то вдруг не поверишь мне на слово что пишу без гетча:))
На счёт кросплатформенности с NET технологиями можно реализовать нормальные оплёткифункций из windows.h так что при желании и усердии мой код можно без изменений сделать крос-платформенным - это если уж очень хочется...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2012, 14:20
Помогаю со студенческими работами здесь

Вставка
Здравствуйте, все ли я правильно делаю? &lt;?php $logo = Array($_REQUEST, $_REQUEST, $_REQUEST,$_REQUEST); /* Соединение с базой...

Вставка
В с++ нужна вставка на ассемблере,для данного примера s=((a*x*x*x*x)+(b*x*x*x)+(c*x*x)+(d*x))/e; Вот что я сделал __asm { mov...

вставка
У меня есть папай меню в ней строчки копировать вставить .Как сделать так чтобы копировалось все а встовлялось только цифры и если можно...

вставка
А вот еще сортировка вставкой..вообще бред какой-то получился(( #include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; void...

вставка
;Вставить obj после n-ых элементов каждого подсписка. (defun InsertN1 (obj N x1) (cond ((null x1) (cons obj nil)) ((=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru