Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Sophos
88 / 65 / 2
Регистрация: 04.01.2010
Сообщений: 265

Инженерное форматирование

09.02.2012, 20:09. Показов 1143. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поступила задача написать функцию, которая будет возвращать форматированную строку. Но форматированную не просто так, иначе мне хватило бы простого FormatFloat. Необходимо выдавать число в формате
Code
1
#.###E##
, причем числа после E должны быть 3, 6, 9, 12 и т.д./-3, -6, -9, -12 и т.д.

Что думаю я:

Pascal
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
Var
  D : double;
begin
 D := StrToFloat(edit1.Text);
 memo1.Lines.Add(Formatfloat('##############0.###############', D));
end;
А дальше уже парсить то, что нам вывели.

Есть другие мысли?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2012, 20:09
Ответы с готовыми решениями:

RichEdit или RTF форматирование текста, а лучше HTML форматирование
Привет формучани. Подскажите бесплатный компонент который позволил бы выводить текст в формате RTF или HTML. Очень хорошо подходит TMS...

Как войти в сервисное(инженерное меню) на телевизоре samsung ue40f6800?
Хочу подключить сторонние bluetooth наушники, прочитал, что чтобы тв разрешил использовать сторонние, нужно включить эту функцию в...

Epson Stylus Pro 9700 сброс счетчика "памперсов", сервисное (инженерное) меню
Существует ли программный сброс счетчика памперсов для Epson Stylus Pro 9700? Как вызвать сервисное (инженерное) меню?

8
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
09.02.2012, 21:52
FloatToStrF
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
10.02.2012, 11:31
цитата из дельфийской справки.

Code
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
Delphi Object and Component Reference
 Format strings
 
See also
 
Format strings specify required formats to general-purpose formatting routines.
 
Description
 
Format strings passed to the string formatting routines contain two types of objects -- literal characters and format specifiers. Literal characters are copied verbatim to the resulting string. Format specifiers fetch arguments from the argument list and apply formatting to them.
 
Format specifiers have the following form:
 
"%" [index ":"] ["-"] [width] ["." prec] type
 
A format specifier begins with a % character. After the % come the following, in this order:
 
    An optional argument zero-offset index specifier (that is, the first item has index 0), [index ":"]
    An optional left justification indicator, ["-"]
    An optional width specifier, [width]
    An optional precision specifier, ["." prec]
    The conversion type character, type
 
The following table summarizes the possible values for type:
 
d   Decimal. The argument must be an integer value. The value is converted to a string of decimal digits. If the format string contains a precision specifier, it indicates that the resulting string must contain at least the specified number of digits; if the value has less digits, the resulting string is left-padded with zeros.
u   Unsigned decimal. Similar to 'd' but no sign is output.
e   Scientific. The argument must be a floating-point value. The value is converted to a string of the form "-d.ddd...E+ddd". The resulting string starts with a minus sign if the number is negative. One digit always precedes the decimal point.The total number of digits in the resulting string (including the one before the decimal point) is given by the precision specifier in the format string—a default precision of 15 is assumed if no precision specifier is present. The "E" exponent character in the resulting string is always followed by a plus or minus sign and at least three digits.
f   Fixed. The argument must be a floating-point value. The value is converted to a string of the form "-ddd.ddd...". The resulting string starts with a minus sign if the number is negative.The number of digits after the decimal point is given by the precision specifier in the format string—a default of 2 decimal digits is assumed if no precision specifier is present.
g   General. The argument must be a floating-point value. The value is converted to the shortest possible decimal string using fixed or scientific format. The number of significant digits in the resulting string is given by the precision specifier in the format string—a default precision of 15 is assumed if no precision specifier is present.Trailing zeros are removed from the resulting string, and a decimal point appears only if necessary. The resulting string uses fixed point format if the number of digits to the left of the decimal point in the value is less than or equal to the specified precision, and if the value is greater than or equal to 0.00001. Otherwise the resulting string uses scientific format.
n   Number. The argument must be a floating-point value. The value is converted to a string of the form "-d,ddd,ddd.ddd...". The "n" format corresponds to the "f" format, except that the resulting string contains thousand separators.
m   Money. The argument must be a floating-point value. The value is converted to a string that represents a currency amount. The conversion is controlled by the CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, and CurrencyDecimals global variables or their equivalent in a TFormatSettings data structure. If the format string contains a precision specifier, it overrides the value given by the CurrencyDecimals global variable or its TFormatSettings equivalent.
p   Pointer. The argument must be a pointer value. The value is converted to an 8 character string that represents the pointers value in hexadecimal.
s   String. The argument must be a character, a string, or a PChar value. The string or character is inserted in place of the format specifier. The precision specifier, if present in the format string, specifies the maximum length of the resulting string. If the argument is a string that is longer than this maximum, the string is truncated.
x   Hexadecimal. The argument must be an integer value. The value is converted to a string of hexadecimal digits. If the format string contains a precision specifier, it indicates that the resulting string must contain at least the specified number of digits; if the value has fewer digits, the resulting string is left-padded with zeros.
Conversion characters may be specified in uppercase as well as in lowercase—both produce the same results.
For all floating-point formats, the actual characters used as decimal and thousand separators are obtained from the DecimalSeparator and ThousandSeparator global variables or their TFormatSettings equivalent.
Index, width, and precision specifiers can be specified directly using decimal digit string (for example "%10d"), or indirectly using an asterisk character (for example "%*.*f"). When using an asterisk, the next argument in the argument list (which must be an integer value) becomes the value that is actually used. For example, 
 
Delphi example:
 
Format('%*.*f', [8, 2, 123.456]);
 
is equivalent to 
 
Format('%8.2f', [123.456]);
 
C++ example:
 
TVarRec args[3] = {8,2,123.456};
Format("%*.*f", args, 2);
 
is equivalent to 
 
TVarRec args[1] = {123.456};
Format("%8.2f", args, 0);
 
A width specifier sets the minimum field width for a conversion. If the resulting string is shorter than the minimum field width, it is padded with blanks to increase the field width. The default is to right-justify the result by adding blanks in front of the value, but if the format specifier contains a left-justification indicator (a "-" character preceding the width specifier), the result is left-justified by adding blanks after the value.
 
An index specifier sets the current argument list index to the specified value. The index of the first argument in the argument list is 0. Using index specifiers, it is possible to format the same argument multiple times. For example "Format('%d %d %0:d %1:d', [10, 20])" produces the string '10 20 10 20'.
 
Note:   Setting the index specifier affects all subsequent formatting. That is, Format('%d %d %d %0:d %d', [1, 2, 3, 4]) returns '1 2 3 1 2', not '1 2 3 1 4'. To get the latter result, you have must use  Format('%d %d %d %0:d %3:d', [1, 2, 3, 4])
0
 Аватар для Sophos
88 / 65 / 2
Регистрация: 04.01.2010
Сообщений: 265
10.02.2012, 19:36  [ТС]
Еще раз поясняю: эта функция, как и FormatFloat мне не подходят, так как они выводят любую степень экспоненты, а не только кратную трем.

В общем ясно, надо писать свою функу.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
10.02.2012, 20:51
причем числа после E должны быть 3, 6, 9, 12 и т.д./-3, -6, -9, -12 и т.д.
...погодь, Алекс, тебе нужно автоматом перенос нулей в степень, но так чтобы кратно трем (сокращения к системе Си подвязать хочешь)? Тогда лучше свою функу.
0
 Аватар для Sophos
88 / 65 / 2
Регистрация: 04.01.2010
Сообщений: 265
11.02.2012, 11:49  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
сокращения к системе Си подвязать хочешь
Именно.

Половину уже написал. Если не забуду, как только допишу до конца - выложу.

Добавлено через 1 час 23 минуты
Готово, проверяйте. Тестировал, правда, только на Lazarus`е, дельфя только на работе. Если подозрения, что у неё немного по другому все работает.
Delphi
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Function InFloat(D : Double) : String;
Var
 Step0_Formatted : String;
 Step1_Temp      : String;
 Step1_Second    : String;
 
 ZeroCounter     : Integer;
 EExponent       : Integer;
 N, M            : Integer;
 
 Procedure WriteDot;
 Begin
  If Length(Step1_Temp) > 0 Then
    Begin
     Result := Result + '.' + Step1_Temp[1];
    End
   Else
    Begin
     Result := Result + '.0';
    End;
 End;
 
 Procedure ReadDigits;
 Begin
  While (N <> M) And (Length(Step1_Temp) <> 0) Do
    Begin
     Result := Result + Step1_Temp[1];
     Delete(Step1_Temp, 1, 1);
     Inc(M);
    End;
   While N <> M Do
    Begin
     Result := Result + '0';
     Inc(M);
    End;
 End;
 
Begin
 ZeroCounter := 0;
 Result := '';
 Step0_Formatted := FormatFloat('##################.##################', D);  // For Lazarus
 If Step0_Formatted[1] = '-' Then
  Begin
   Result := Result + '-';
   Delete(Step0_Formatted, 1, 1);
  End;
 If Step0_Formatted[1] = '0' Then
  Begin
   // Число имеет формат: 0.0003452
   Step1_Temp := Step0_Formatted;      // 0.0000045
   Delete(Step1_Temp, 1, 2);           //   0000045
   While Step1_Temp[1] = '0' Do
    Begin
     Delete(Step1_Temp, 1, 1);
     Inc(ZeroCounter);
    End;                               //        45
   EExponent := (ZeroCounter Div 3 + 1) * 3;
   N := 4 - (ZeroCounter Mod 3);
   M := 1;
 
   ReadDigits;
   WriteDot;
 
   Result := Result + 'E-' + IntToStr(EExponent);
  End
 Else
  Begin
   // Число имеет формат: 4.443 или 23334
   If Pos('.', Step0_Formatted) <> Length(Step0_Formatted) Then
    Begin
     // Число имеет формат 3.443
     Step1_Temp := Step0_Formatted;                                                   // 123.4
     Step1_Second := Step0_Formatted;                                                 // 123.4
 
     Delete(Step1_Temp,
            Pos('.', Step1_Temp),
            Length(Step1_Temp) - Pos('.', Step1_Temp) + 1);                           // 123
     Delete(Step1_Second,
            1,
            Pos('.', Step1_Second));                                                  // .4
 
     EExponent := ((Length(Step1_Temp) - 1) Div 3) * 3;
     N := (Length(Step1_Temp) + 2) Mod 3 + 2;
     M := 1;
 
     ReadDigits;
 
     Step1_Temp := Step1_Temp + Step1_Second;
 
     WriteDot;
 
     If EExponent > 0 Then
      Result := Result + 'E' + IntToStr(EExponent);
 
    End
   Else
    Begin
     // Число имеет формат 32221
     Step1_Temp := Step0_Formatted;
     Delete(Step1_Temp, Length(Step1_Temp), 1);
     EExponent := ((Length(Step1_Temp) - 1) Div 3) * 3;
     N := (Length(Step1_Temp) + 2) Mod 3 + 2;
     M := 1;
 
     ReadDigits;
     WriteDot;
 
     If EExponent > 0 Then
      Result := Result + 'E' + IntToStr(EExponent);
    End;
  End;
End;
1
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
11.02.2012, 22:04
...работает, но есть два фикса:
1- пропадают значащие разряды (округление)
180901 представлено 180.9E3
2- если вдруг на вход подать с десятыми, то появляется всегда степень E18

Среда TDL.
0
 Аватар для Sophos
88 / 65 / 2
Регистрация: 04.01.2010
Сообщений: 265
12.02.2012, 10:10  [ТС]
пропадают значащие разряды (округление)
Да, это умышленно. Был выбран один знак после запятой. В принципе могу переделать под заданное количество знаков.
если вдруг на вход подать с десятыми, то появляется всегда степень E18
Вот чего-то такого я и ожидал. В понедельник попробую пофиксить.
1
 Аватар для Sophos
88 / 65 / 2
Регистрация: 04.01.2010
Сообщений: 265
14.02.2012, 08:08  [ТС]
Исправленный вариант для Delphi.

+ Добавлена возможность выбора количества значащих цифр.

Delphi
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
(********************************************)
(*                                          *)
(*       Модуль форматирования значений     *)
(*      является частью проекта ALibrary    *)
(*                                          *)
(*          (c) Шишкин Алексей 2012         *)
(*                                          *)
(********************************************)
 
Unit UNTAFormat;
 
Interface
 
Uses
  SysUtils;
 
Function FormatFloatE(D : Double; Digits : Integer) : String;
Function FormatFloatSI(D : Double; Digits : Integer) : String;
Function FormatFloatSIFull(D : Double; Digits : Integer) : String;
 
Function FormatFloatSI_RU(D : Double; Digits : Integer) : String;
Function FormatFloatSIFull_RU(D : Double; Digits : Integer) : String;
 
Implementation
 
Function FormatFloatE(D : Double; Digits : Integer) : String;
Var
 Step0_Formatted : String;
 Step1_Temp      : String;
 Step1_Second    : String;
 
 ZeroCounter     : Integer;
 EExponent       : Integer;
 N, M            : Integer;
 G               : Integer;
 
 Procedure WriteDot;
 Begin
  G := M;
  Result := Result + DecimalSeparator;
  While G <= Digits Do
   Begin
    if Length(Step1_Temp) > 0 Then
     Begin
      Result := Result + Step1_Temp[1];
      Delete(Step1_Temp, 1, 1);
     End
    Else
     Begin
      Result := Result + '0';
     End;
    Inc(G);
   End;
 
  {If Length(Step1_Temp) > 0 Then
    Begin
     Result := Result + '.' + Step1_Temp[1];
    End
   Else
    Begin
     Result := Result + '.0';
    End;}
 End;
 
 Procedure ReadDigits;
 Begin
  While (N <> M) And (Length(Step1_Temp) <> 0) Do
    Begin
     Result := Result + Step1_Temp[1];
     Delete(Step1_Temp, 1, 1);
     Inc(M);
    End;
   While N <> M Do
    Begin
     Result := Result + '0';
     Inc(M);
    End;
 End;
 
Begin
 ZeroCounter := 0;
 Result := '';
 Step0_Formatted :=
  FormatFloat('#################0.##################', D);
 If Step0_Formatted[1] = '-' Then
  Begin
   Result := Result + '-';
   Delete(Step0_Formatted, 1, 1);
  End;
 
 If Pos(DecimalSeparator, Step0_Formatted) <> 0 Then
  Begin
   // 34353.55 или 0.44334344
   If Step0_Formatted[1] = '0' Then
    Begin
     // 0.436436
     Step1_Temp := Step0_Formatted;      // 0.0000045
     Delete(Step1_Temp, 1, 2);           //   0000045
     While Step1_Temp[1] = '0' Do
      Begin
       Delete(Step1_Temp, 1, 1);
       Inc(ZeroCounter);
      End;                               //        45
     EExponent := (ZeroCounter Div 3 + 1) * 3;
     N := 4 - (ZeroCounter Mod 3);
     M := 1;
 
     ReadDigits;
     WriteDot;
 
     Result := Result + 'E-' + IntToStr(EExponent);
    End
   Else
    Begin
     // 325346436.33
     Step1_Temp := Step0_Formatted;                              // 123.4
     Step1_Second := Step0_Formatted;                            // 123.4
 
     Delete(Step1_Temp,
            Pos(DecimalSeparator, Step1_Temp),
            Length(Step1_Temp) - Pos(DecimalSeparator, Step1_Temp) + 1);      // 123
     Delete(Step1_Second,
            1,
            Pos(DecimalSeparator, Step1_Second));                             // .4
 
     EExponent := ((Length(Step1_Temp) - 1) Div 3) * 3;
     N := (Length(Step1_Temp) + 2) Mod 3 + 2;
     M := 1;
 
     ReadDigits;
 
     Step1_Temp := Step1_Temp + Step1_Second;
 
     WriteDot;
 
     If EExponent > 0 Then
      Result := Result + 'E' + IntToStr(EExponent);
    End;
  End
 Else
  Begin
   // 44346346
   Step1_Temp := Step0_Formatted;
   EExponent := ((Length(Step1_Temp) - 1) Div 3) * 3;
   N := (Length(Step1_Temp) + 2) Mod 3 + 2;
   M := 1;
 
   ReadDigits;
   WriteDot;
 
   If EExponent > 0 Then
    Result := Result + 'E' + IntToStr(EExponent);
  End;
 
 
{ If Step0_Formatted[1] = '0' Then
  Begin
   // Число имеет формат: 0.0003452
 
  End
 Else
  Begin
   // Число имеет формат: 4.443 или 23334
   If Pos(DecimalSeparator, Step0_Formatted) <> Length(Step0_Formatted) Then
    Begin
     // Число имеет формат 3.443
 
 
    End
   Else
    Begin
     // Число имеет формат 32221
 
    End;
  End;    }
End;
 
Function FormatFloatSI(D : Double; Digits : Integer) : String;
Var
 Formatted : String;
 EExponent : String;
Begin
 Formatted := FormatFloatE(D, Digits);
 If Pos('E', Formatted) = 0 Then
  Begin
   Result := Formatted;
  End
 Else
  Begin
   Result    := Copy(Formatted, 1, Pos('E', Formatted) - 1);
   EExponent := Copy(Formatted,
                     Pos('E', Formatted) + 1,
                     Length(Formatted) - Pos('E', Formatted));
   Result := Result + ' ';
   If EExponent[1] = '-' Then
    Begin
     Delete(EExponent, 1, 1);
     Case EExponent[1] Of
      '3' : Result := Result + 'm';
      '6' : Result := Result + 'u';
      '9' : Result := Result + 'n';
      '1' : Result := Result + 'p';
     End;
    End
   Else
    Begin
     Case EExponent[1] Of
      '3' : Result := Result + 'k';
      '6' : Result := Result + 'M';
      '9' : Result := Result + 'G';
      '1' : Result := Result + 'T';
     End;
    End;
  End;
End;
 
Function FormatFloatSIFull(D : Double; Digits : Integer) : String;
Var
 Formatted : String;
 EExponent : String;
Begin
 Formatted := FormatFloatE(D, Digits);
 If Pos('E', Formatted) = 0 Then
  Begin
   Result := Formatted;
  End
 Else
  Begin
   Result    := Copy(Formatted, 1, Pos('E', Formatted) - 1);
   EExponent := Copy(Formatted,
                     Pos('E', Formatted) + 1,
                     Length(Formatted) - Pos('E', Formatted));
   Result := Result + ' ';
   If EExponent[1] = '-' Then
    Begin
     Delete(EExponent, 1, 1);
     Case EExponent[1] Of
      '3' : Result := Result + 'milli';
      '6' : Result := Result + 'micro';
      '9' : Result := Result + 'nano';
      '1' : Result := Result + 'pico';
     End;
    End
   Else
    Begin
     Case EExponent[1] Of
      '3' : Result := Result + 'kilo';
      '6' : Result := Result + 'Mega';
      '9' : Result := Result + 'Giga';
      '1' : Result := Result + 'Tera';
     End;
    End;
  End;
End;
 
Function FormatFloatSI_RU(D : Double; Digits : Integer) : String;
Var
 Formatted : String;
 EExponent : String;
Begin
 Formatted := FormatFloatE(D, Digits);
 If Pos('E', Formatted) = 0 Then
  Begin
   Result := Formatted;
  End
 Else
  Begin
   Result    := Copy(Formatted, 1, Pos('E', Formatted) - 1);
   EExponent := Copy(Formatted,
                     Pos('E', Formatted) + 1,
                     Length(Formatted) - Pos('E', Formatted));
   Result := Result + ' ';
   If EExponent[1] = '-' Then
    Begin
     Delete(EExponent, 1, 1);
     Case EExponent[1] Of
      '3' : Result := Result + 'м';
      '6' : Result := Result + 'мк';
      '9' : Result := Result + 'н';
      '1' : Result := Result + 'п';
     End;
    End
   Else
    Begin
     Case EExponent[1] Of
      '3' : Result := Result + 'к';
      '6' : Result := Result + 'М';
      '9' : Result := Result + 'Г';
      '1' : Result := Result + 'Т';
     End;
    End;
  End;
End;
 
Function FormatFloatSIFull_RU(D : Double; Digits : Integer) : String;
Var
 Formatted : String;
 EExponent : String;
Begin
 Formatted := FormatFloatE(D, Digits);
 If Pos('E', Formatted) = 0 Then
  Begin
   Result := Formatted;
  End
 Else
  Begin
   Result    := Copy(Formatted, 1, Pos('E', Formatted) - 1);
   EExponent := Copy(Formatted,
                     Pos('E', Formatted) + 1,
                     Length(Formatted) - Pos('E', Formatted));
   Result := Result + ' ';
   If EExponent[1] = '-' Then
    Begin
     Delete(EExponent, 1, 1);
     Case EExponent[1] Of
      '3' : Result := Result + 'милли';
      '6' : Result := Result + 'микро';
      '9' : Result := Result + 'нано';
      '1' : Result := Result + 'пико';
     End;
    End
   Else
    Begin
     Case EExponent[1] Of
      '3' : Result := Result + 'кило';
      '6' : Result := Result + 'мега';
      '9' : Result := Result + 'гига';
      '1' : Result := Result + 'тера';
     End;
    End;
  End;
End;
 
End.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2012, 08:08
Помогаю со студенческими работами здесь

Форматирование
Доброго времени суток! помогите пожалуйста, как можно задать формат для ввода в цифровое поле? Нужно, чтобы пользователь вводил числа в...

Форматирование
Решил отформатировать жесткий диск, убрал галку &quot;быстрое&quot; после этого форматирование продолжается целый день, и далее. после нажатия...

Форматирование xp
помогите как удалить windows xp полностью так сказать до голого железа,собираюсь поставить 7 версию а свою удалить начисто но перед...

Форматирование
Подскажите пожалуйста, мне нужно отформатировать дискету(если можно подскажите код)

Форматирование
Надо вывести текст с таким вот форматирование xxxxxxxxxxx yyyyyyyyyyy xxxxxxxxxxx yyyyyyyyyyy xxxxxxooooooooooooyyyyyy ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru