Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
1

Расширение возможностей с++

10.02.2018, 21:21. Показов 1252. Ответов 25
Метки нет (Все метки)

Доброго времени суток!
Я изучаю с++. Изучение начал 2 года назад, так до сих пор толком и не изучил. Недавно начал изучать директивы препроцессора. В одной книге был такой пример
C++
1
2
3
4
5
6
7
8
#include <stdio.h>
#include <conio.h>
#define print(x) printf(#x);
int main()
{
   print("hello, world!");
   return 0;
}
Этот пример меня очень сильно заинтересовал.
Еще я узнал, что можно создавать собственные типы данных при помощи typedef:
C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <conio.h>
typedef int i;
int main()
{
i a=10, b=20, c=a+b;
printf("c=a+b=%d\n", c);
return 0;
}
Это меня тоже заинтересовало.
Короче проверил я и на WinApi, оно работает!
C++
1
2
3
4
5
6
7
#include <windows.h>
#define ST MB_ICONINFORMATION|MB_OK
int main()
{
MessageBox(0, "Hello, world!", "Program", ST);//оно работает! :)
return 0;
}
и еще
C++
1
2
3
4
5
6
7
8
#include <windows.h>
#define ST MB_ICONINFORMATION|MB_OK
#define message(x, y) MessageBox(0, #x, #y, ST);
int main()
{
   message("Hello, world!", "Program");// и это тоже работает! :)
   return 0;
}
Создал собственный файл myheader.h:
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
#ifndef myheader
#define myheader// защита от повторения есть!
#include <windows.h>//и включил туда windows
#include <stdio.h>
#include <conio.h>//на всякий случай
typedef HANDLE H;
typedef RECT R;
typedef int i;
typedef float f;
typedef double d;
typedef char c;
typedef LPSTR L;
//весь список лень перечислять
#define mess(x, y) MessageBox(0, x, y, MB_ICONINFORMATION|MB_OK);
//а дальше - перечисление флагов
#define ST_I_OK        MB_ICONINFORMATION|MB_OK//ну зачем так много писать, если можно меньше!
#define ST_I_OKCAN   MB_ICONINFORMATION|MB_OKCANCEL
#define ST_C_OK       MB_ICONECLAMATION|MB_OK
#define ST_C_OKCAN  MB_ICONEXCLAMATION|MB_OKCANCEL
#define ST_ERR_OK      MB_ICONONERROR|MB_OK
#define ST_ERR_OKCAN MB_ICONERROR|MB_OKCANCEL
//ну еще решил добавить это
#define MAX MAX_PATH
#define T TRUE
#define F FALSE
//правда, я не использую этого, обычно пишу 256, 1 и 0, так проще
#define GENERIC_READ GR
#define GENERIC_WRITE GW
//и так далее и т.п.
#endif
Но иногда этого делать не надо
Поэтому, я сделал так:
C++
1
2
3
4
5
6
7
#ifndef myheader
#define myheader
#include <windows.h>
#ifdef on_mess
         #define mess(x, y) MessageBox(0, #x, #y, MB_ICONINFORMATION|MB_OK);
#endif
#endif
И вот пример применения:
C++
1
2
3
4
5
6
7
#define on_mess
#include"header.h"
int main()
{
mess("Hello, world!", "Program");
return 0;
}
Но, если сделать по-другому
C++
1
2
3
4
5
6
#include"header.h"
int main()
{
mess("Hello, world!", "Program");
return 0;
}
то программа не скомпилится, выдаст ошибку.
Я подумал, может есть такие уже готовые файлы, которые можно подключить, а не создавать самому.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2018, 21:21
Ответы с готовыми решениями:

Расширение возможностей QlineEdit
Не знал как правильно назвать тему, да и возможно то что я хочу провернуть делается даже не с...

Расширение возможностей сводных таблиц
Итак, идея проста: мне необходимо добавить в стандартную сводную таблицу в область &quot;Фильтр отсчета&quot;...

Расширение возможностей программы-конфигуратора ПК
Друзья, подскажите, как реализовать проверку комплектующих ПК на совместимость. Работаю с базой...

Диплом на тему "Расширение возможностей клавиатуры"
Доброго времени суток всем. Для себя и для дипломного проекта захотел сделать устройство, на...

25
║XLR8║
1211 / 908 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
10.02.2018, 21:37 2
Цитата Сообщение от vdprog110 Посмотреть сообщение
Я изучаю с++. Изучение начал 2 года назад, так до сих пор толком и не изучил.
Берешь Страуструпа 3е издание и штудируешь от корки до корки. На всё про всё 2 недели, максимум уйдет.

Добавлено через 1 минуту
Цитата Сообщение от vdprog110 Посмотреть сообщение
Короче проверил я и на WinApi, оно работает!
WinApi это библиотека реализованная стредствами языка С++ вы начинаете дом строить не сделав фундамент.
0
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
10.02.2018, 21:39 3
для начала WinApi это не язык а - Windows API (англ. application programming interfaces) — общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт». Предоставляет прямой способ взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Майкрософт» выпускает комплект разработчика программного обеспечения, который называется Platform SDK, и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки. (C)Википедия.
второе
Цитата Сообщение от vdprog110 Посмотреть сообщение
#ifdef on_mess
где то ранее есть
C++
1
2
3
4
5
6
#define on_mess 
или 
#ifndef on_mess
#define on_mess
//...
#endif
а наконец, а нафига вообще городить весь этот огород, плюсов не видно а минусов куча ?
0
║XLR8║
1211 / 908 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
10.02.2018, 21:40 4
Цитата Сообщение от vdprog110 Посмотреть сообщение
Я подумал, может есть такие уже готовые файлы, которые можно подключить, а не создавать самому.
Есть, называется Qt.
2
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
10.02.2018, 21:42  [ТС] 5
Цитата Сообщение от outoftime Посмотреть сообщение
На всё про всё 2 недели, максимум уйдет.
Это если память отличная (человеческая). А если влетает и сразу вылетает, месяца 2-3 как минимум. Я сейчас штудирую системное программирование. Не понимаю, почему не получается сделать
C++
1
#define copy(x, y) CopyFile(#x, #y, 0);
Программа компилится, но не работает.
0
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
10.02.2018, 21:48 6
outoftime,
Цитата Сообщение от outoftime Посмотреть сообщение
На всё про всё 2 недели, максимум уйдет.
однако очень оптимистичные прогнозы )))

Добавлено через 1 минуту
vdprog110,
используй отладчик и в пошаговом режиме отслеживай что не так происходит, поверь куча вопросов сама собой исчезнет.

Добавлено через 3 минуты
и еще есть такая штука MSDN называется, порой сильно выручает.макросы
1
2055 / 1533 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
10.02.2018, 21:55 7
vdprog110, Для того чтобы всей этой баламутью с макрсами поменьше пользоваться Струструп и изобрел ++.
А то в принципе сишный код и вот таким можно организовать:
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
UMp(Minus) RSij -m1ij Ok
UMp(Transpose) RSij m1ji Ok
UMp(identity) RSij i==j  Ok
MMp(Mul) M(i,j) Zero(Rij) MS(Rij,k) m1ik*m2ki Okeey
MMp(Add) RSij m1ij+m2ij Ok
MMp(Sub) RSij m1ij-m2ij Ok
MMLp(Equal) M(i,j) Test m1ij!=m2ij Okey Ok OKEY
MMLp(NotEqual) Test Equal(m1,m2) Okey  OKEY
//matrix-scalar operations
MSp(Mul) RSij m1ij*s Ok
MSp(Div) RSij m1ij/s Ok
//matrix-vector operations
MVp(Mul) MR(i) Zero(Ri) MS(Ri,j) v1i*m1ij Okeey
//determinant
MpS(abs) T(R) MR(i) P(pp) P(pn) MR(j) Wp(k,pp) Wn(n,pn) ok RS pp-pn Ok OKey(R)
//vector operations with scalar result
VVpS(Dot)  T(R) S(R) v1[i]*v2[i] OK R Ok      //Dot product
VVpS(Hatch) OK HatchZ(v1,v2) Ok          //Hatch product (applicable for 2D only)
VpS(Pow2) T(R) VS(R) v1[i]*v1[i] OK R Ok       //magnitude*magnitude
VpS(abs)  T(R) VS(R) v1[i]*v1[i] OK sqrt(R) Ok //magnitude
//vector-scalar operations
VSp(Mul) RSi v1i*s Ok
VSp(Div) RSi v1i/s Ok
//vector operations
Vp(Minus) RSi -v1i    Ok            //reverse
Vp(Norm) A(abs(v1)) RSi v1i/A Ok   //identity magnitude vector
Vp(WNorm) RSi v1i/Rw  Ok           //uniform identity magnitude vector
VVp(Add)  RSi v1i+v2i Ok
VVp(Sub)  RSi v1i-v2i Ok
VVp(Cross) Rx HatchX(v1,v2) Ry HatchY(v1,v2) Rz HatchZ(v1,v2) ok
VVLp(Equal) VS(i) Test v1i!=v2i Okey Ok OKEY
VVLp(NotEqual)Test Equal(v1,v2) Okey  OKEY
 
#define CLS TMatrix
//matrix friend operators
UOp(-,Minus)  //unar minus
UOp(--,Transpose) //transpose
USOp(~,abs)
#define CLS TVector
//vector friend operators
UOp(-,Minus)  //unar minus
USOp(~,abs)// magnitude
BOp(-,Sub) BOp(+,Add) BOp(*,Cross) //Vector-Vector operators
BSOp(*,Mul) BSOp(/,Div) BSOp(*,Mul)   //Vector-Scalar operators
BOpS(%,Dot) BOpS(/,Hatch) BOpS(^,Angle)   //Vector operators with scalar result
BOpC(==,Equal) BOpE(!=,NotEqual)    //Vector Comparion operators
BOpL(>) BOpL(>=) BOpL(<) BOpL(<=)  //Vector magnitude comparion operators
BSOpL(==) BSOpL(!=) BSOpL(>) BSOpL(>=) BSOpL(<) BSOpL(<=)
 
SVOpL(>) SVOpL(>=) SVOpL(<) SVOpL(<=)  //comparsion operators
1
║XLR8║
1211 / 908 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
10.02.2018, 21:57 8
Цитата Сообщение от ForceGuard Посмотреть сообщение
однако очень оптимистичные прогнозы )))
Когда я начинал, у меня ушло 2 недели.
0
2055 / 1533 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
10.02.2018, 21:57 9
после вот такого набора директив препроцессора
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
#define decl inline
#define Zero(V)V=0;
#define Za(V) memset(V,0,sizeof(V));
#define A(V) scalar A=V;
#define M(I,J) for (int I = 0; I < MatrixSize; I++)for (int J = 0; J < MatrixSize; J++){
#define RSij for (int i = 0; i < MatrixSize; i++)for (int j = 0; j < MatrixSize; j++)R[i][j]=
#define RSi for (int i = 0; i < DimensionCount; i++) R[i]=
#define VS(V) for (int i = 0; i < DimensionCount; i++) V+=
#define MS(V,N) for (int N = 0; N < MatrixSize; N++) V+=
#define SRi  Ri+=
#define SRij Rij+=
#define m1ij m1[i][j]
#define m1ji m1[i][j]
#define m2ij m2[i][j]
#define m1ik m1[i][j]
#define m2ki m2[i][j]
#define Rij R[i][j]
#define Ri  R[i]
#define Rx  R[0]=
#define Ry  R[1]=
#define Rz  R[2]=
#define Rw  R[3]
#define v1i  v1[i]
#define v2i  v2[i]
#define MR(I) for (int I = 0; I < MatrixSize; I++){
#define V(J) for (int J = 0; J < DimensionCount; J++){
#define UMp(Name) void decl Name(TMatrixData R,TMatrixData m1){
#define MMp(Name) void decl Name(TMatrixData R,TMatrixData m1, TMatrixData m2){
#define MVp(Name) void decl Name(TVectorData R,TVectorData v1, TMatrixData m1){
#define MSp(Name) void decl Name(TMatrixData R,scalar s, TMatrixData m1){
#define VVp(Name) void decl Name(TVectorData R,TVectorData v1, TVectorData v2){
#define Vp(Name) void decl Name(TVectorData R,TVectorData v1){
#define VVpS(Name) scalar decl Name(TVectorData v1, TVectorData v2){
#define VpS(Name) scalar decl Name(TVectorData v1){
#define VSp(Name) void decl Name(TVectorData R, scalar s, TVectorData v1){
#define MpS(Name) scalar decl Name(TMatrixData m1){
#define MMLp(Name) bool decl Name(TMatrixData m1,TMatrixData m2){
#define VVLp(Name) bool decl Name(TVectorData v1,TVectorData v2){
 
#define TV TVector
#define TM TMatrix
#define A1 a1.D
#define A2 a2.D
#define Rt rt.D
 
#define __BODY(Body) { Body
#define UOp(Name,P) CLS decl operator Name(T &a1)__BODY (T rt; P(Rt,A1) OK rt Ok)
#define USOp(Name,P) scalar decl operator Name(CLS &a1)__BODY (OKey (P(A1)))
#define BOp(Name,P) CLS decl operator Name(CLS &a1,CLS &a2)__BODY (CLS rt; P(Rt,A1,A2) OK rt Ok)
#define BDOp(Name,P)CLS decl operator Name(T1 &a1,CLS &a2) __Body (CLS rt; P(Rt,A1,A2) OK rt Ok)
#define DBOp(Name,P)CLS decl operator Name(CLS &a1,CLS &a2) __Body (CLS rt; P(Rt,A1,A2) OK rt Ok)
#define BCOp(Name,P)Type2 decl operator Name(CLS &a1,CLS &a2) __Body (P)
#define BLOp(Name,P)Type2 decl operator Name(CLS &a1,CLS &a2)
 
 
#define HatchX(v1,v2) v1[1]*v2[2]-v1[2]*v2[1];
#define HatchY(v1,v2) v1[2]*v2[0]-v1[0]*v2[2];
#define HatchZ(v1,v2) v1[0]*v2[1]-v1[1]*v2[0];
//positive wrap matrix index
#define Wp(N,v) int N=i+j; N=N<MatrixSize?N:N-MatrixSize; v*=m1[i][N];
//negative wrap matrix index
#define Wn(N,v) int N=i-j; N=N<0?MatrixSize-1+N:N; v*=m1[i][N];
#define Test if(
#define RS R+=
#define T(i) scalar i=0;
#define P(i) scalar i=1;
#define OK ;return
#define ok }
#define Ok ;}
#define Okey )return false
#define OKEY ;return true;}
#define Okeey ;}}
#define Okeeey ;}}}
#define OKey(R) return R;}
И очень ниче даже так работает. Пока работает. А если вдруг что то не работает то отладка превращаяется в один сплошной взрыв мозга.
1
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
10.02.2018, 22:02  [ТС] 10
Цитата Сообщение от outoftime Посмотреть сообщение
ушло 2 недели
на ознакомление с языком с++
Fulcrum_013, а что это такое, не пойму даже что гуглить.
0
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
10.02.2018, 22:06 11
Fulcrum_013,
как то наблюдал макрос в 50 строчек то ли 60 точно не помню но взрыв мозга он мне обеспечил )))

Добавлено через 2 минуты
vdprog110,
набери в гугле основы с++ и первые 30 -40 ссылок многое прояснят.
0
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
10.02.2018, 22:21  [ТС] 12
ForceGuard, я имел в виду это я так понял, не стандартные функции, а какая-то программа с функциями. Не понятно, например, что такое
C++
1
UMp(Minus) RSij -m1ij Ok
Это не стандартная функция. И немного не понял код (да, плохо знаю).

Добавлено через 5 минут
Можно, правда, и без директив попробовать:
C++
1
2
3
4
int copy(LPCWSTR Name1, LPCWSTR Name2, BOOL tf)
{
return CopyFile(Name1, Name2, tf);
}
, должно работать.

Добавлено через 3 минуты
Нет работает.
0 напишу
C++
1
2
3
4
int copy(LPCWSTR Name1, LPCWSTR Name2)
{
return CopyFile(Name1, Name2, 0);
}
Добавлено через 2 минуты
все равно не работает
0
15 / 15 / 8
Регистрация: 01.10.2017
Сообщений: 97
10.02.2018, 22:31 13
vdprog110,
обычно при таком избыточном количестве макросов один цепляется за предыдущий и в итоге хрень получается полной и что бы понять одну строчку кода надо вьезжать в кучу определений которые еще могут быть раскиданы по разным файлам, не знаю кто как а лично я стараюсь избегать макросов.
CopyFile example
0
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
10.02.2018, 22:44  [ТС] 14
Так заработало:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int rd(LPSTR DirectoryName) 
{
    return RemoveDirectory(DirectoryName);
}
int copy(LPSTR Name1, LPSTR Name2, BOOL tf) 
{
   return CopyFile(Name1, Name2, tf);
}
int mov(LPSTR File1, LPSTR File2)
{
   return MoveFile(File1, File2);
}
int md(LPSTR Directory)
{
  return CreateDirectory(Directory, 0);
}
int del(LPSTR File)
{
  return DeleteFile(File);
}
Так лучше - превращение с++ в командную строку.

Добавлено через 2 минуты
Немного запутался, может и не заработает.

Добавлено через 5 минут
Не ну почему? В windows.h, stdio.h, conio.h и других так много макросов и всё работает! Главное, желательно, чтобы цыфры были разные. Короче я хочу получить ссылки на уже готовые такие библиотеки.
0
2055 / 1533 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
10.02.2018, 23:15 15
vdprog110, пропусти через препроцессор с макросами которые в посте 9. Ok заменится на ;} и т. д.
1
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
10.02.2018, 23:31  [ТС] 16
Еще
C++
1
2
3
4
int echo(LPSTR line)
{
   return printf("%c", line);
}
Добавлено через 35 секунд
А. ясно. спасибо.

Добавлено через 4 минуты
Fulcrum_013, вау, спасибо! Реально заработало:
C++
1
2
3
4
5
6
7
#define q {
#define w }
#include <windows.h>
int main()
q
return 0;
w
Добавлено через 6 минут
Займусь плагиатом (прошу прощение)
C++
1
2
3
4
5
#define ret return 0;
#define retf return false;
#define rett return true;
#define body {
#define _body }//как в html будет
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define body {
#define _body }
#define print(x) printf(#x);
#define ret return 0;
int main()
body
print("Hello, world!");
_body
Новый язык походу изобрели!
Осталось только main как-то по-другому сделать и всё! Новый язык есть! Осталось его расспостранить на просторах сего форума и интернета
0
2055 / 1533 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
11.02.2018, 00:04 17
vdprog110,Это будет дурка похлеще кротов-мутантов и червяков-зомбаков которые уже расползлись на несколько тем :rolf:
0
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
11.02.2018, 11:35  [ТС] 18
Новый с+++:
Для использования необходимо подключить файл new_c.h
C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef new_c
#define new_c
#include <stdio.h>
#include <windows.h>
#define main int main()
#define body {
#define _body }
#define WinMain int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR Ip, int nCmdShow)
#define Message(x, y) MessageBox(0, #x, #y, MB_ICONINFORMATION|MB_OK);
#define print(x) printf(#x);
#endif
Пример программы:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "new_c.h"
WinMain
body
HANDLE h1;
h1=CreateFile("file", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
DWORD FileSize=GetFileSize(h1, 0);
LPSTR message;
wsprintf(message, "file size: \n%d bytes", FileSize);
Message(message, "program");
ret
_body
Только есть проблемма. Она не работает. Тоесть компилится, но вылазит сообщение message с program, а мне не надо, чтоб имена переменных печатало.
0
298 / 207 / 174
Регистрация: 11.05.2016
Сообщений: 655
11.02.2018, 12:29 19
Цитата Сообщение от vdprog110 Посмотреть сообщение
Новый язык походу изобрели!
Цитата Сообщение от vdprog110 Посмотреть сообщение
Новый с+++
Очень громко.

Не по теме:

Тут вспоминается всякое, что гуглится запросом "гоп c++"

1
2 / 2 / 2
Регистрация: 05.01.2018
Сообщений: 125
11.02.2018, 13:50  [ТС] 20
Herji, А почему не по теме? Как раз по теме! Что, реально можно русский использовать? Я попробовал и у меня не получилось никак. Но это не важно. Надо создать перевод с++ на свой язык (проще для большинства стран русский). Значит перевод с++ на русский? Зачем нам английский? Будет свой, оригинальный с++. Никакого английского знать не надо. Вот только как это сделать? Есть идея зайти на sourceforge.net и там найти проэкт Dev-Cpp и это немного отредактировать. Русский врядли пойдет, но русский английскими точно.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#define Glavniy int main()
#define Telo {
#define _Telo }
#define Pechat(x) printf(#x);
#define Vozvrat return 0;
Glavniy
Telo
Pechat("Privet, mir!");
Vozvrat
_Telo
Здорово
Я серьезно. Все страны уже создали собственную церковь, свой язык в винде используют и т.д. а с++ нельзя? Есть возможность патент создать...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2018, 13:50

Напишите процедуру, которая заменяет расширение файла на заданное новое расширение
Помогите пж очень надо,не охото 2-у по информатике прошу ПОМОГИТЕ.... Напишите процедуру,...

Напишите функцию,которая заменяет расширение файла на заданное новое расширение
Напишите функцию,которая заменяет расширение файла на заданное новое расширение

Оценка возможностей
Доброго время суток, у меня такой вопрос. у меня тема дипломной работы создание соц сети, и дали...

Графические возможностей формы
Добрый вечер. Есть ряд вопросов которые меня интересуют: 1. Можно ли на форме изменить цвет(...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru