Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Massiv[ALL]:=99;   Найти похожие ветки 

 
Rentgen ©   (2005-06-02 13:18) [0]

Всем привет.
Мне нужно каждому элементу массива
присвоить одно значение.
Есть ли в массивах подобная комманда?

{ - Так конечно можно, но...
for n:=0 to 255 do Massiv[n]:=99;
}

Нет ли чего-то специального типа:
Massiv[ALL]:=99;
?
Спасибо.


 
Думкин ©   (2005-06-02 13:22) [1]

FillChar для байтов


 
Jeer ©   (2005-06-02 13:28) [2]

Fillmemory


 
-=S.S=- ©   (2005-06-02 13:28) [3]

Если массив типа Byte или Char
то можно использовать FillChar
Иначе не знаю.


 
Amoeba ©   (2005-06-02 13:32) [4]

Нет и не было такого!


 
Digitman ©   (2005-06-02 13:44) [5]


> Нет ли чего-то специального типа:
> Massiv[ALL]:=99;


мне любопытно было бы знать, в каких иных языковых средах существуют подобные "специальные типы"..


 
TUser ©   (2005-06-02 13:53) [6]

Для более чем одного байта вот недавно написал
{$ifdef fpc}
{$mode delphi}
{$endif}
unit uIncStr;

interface

function IncStr (S: string): string;

implementation

function IncStr (S: string): string;
var C: char;
begin
 C:=S[length(S)];
 if C in ["0".."9"] then begin
   C:=succ(C);
   if C in ["0".."9"] then
     S[length(S)]:=C
     else
     S:=IncStr(copy(S,1,length(S)-1))+"0";
   end else S:=S+"1";
 result:=S;
end;

end.


 
TUser ©   (2005-06-02 13:55) [7]

Извините, не то запостил
{$ifdef fpc}
{$mode delphi}
{$endif}
unit uSetInteger;

interface

procedure SetInteger(P: pointer; L: integer; V: integer);

implementation
uses Windows;

type
 PInt = ^integer;

procedure SetInteger(P: pointer; L: integer; V: integer);
var done: integer;
   i: integer;
begin
 done:=0;
 while L > 0 do
   {INV: done сделано, L осталось}
   if done = 0 then begin
     PInt(P)^:=V;
     done:=1;
     dec (L);
     end else begin
     if L < done then
       i:=L
       else i:=done;
     CopyMemory(pointer(integer(P)+sizeof(integer)*done),P,i*sizeof(integer));
     L:=L-i;
     done:=i*2;
     end;
end;

end.


 
Alx2 ©   (2005-06-02 13:59) [8]

TUser ©   (02.06.05 13:53) [6]
А что это?


 
TUser ©   (2005-06-02 14:03) [9]

> А что это?

Это оффтопик. Читай [7].


 
Alx2 ©   (2005-06-02 14:18) [10]

TUser ©   (02.06.05 14:03) [9]
То, что оффтопик - понятно.

А в оффтопике - это увеличение длинного числа на единицу?


 
TUser ©   (2005-06-02 14:23) [11]

Ну не обязательно длинного. Понадобилось мне как-то из строки text999 уметь делать text1000 - вот и писал.


 
Erik1 ©   (2005-06-02 15:20) [12]

FillChar(Massiv[0], SizeOf(Massiv[0])*Length(Massiv), 99);
Если Massiv состоит из простых типов.


 
TUser ©   (2005-06-02 15:42) [13]

Это если массив состоит из элементов, которые занимают 1 байт.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
3-1116568506
Kirpenko
2005-05-20 09:55
2005.06.29
ER-Win


14-1117331280
Kamilcom
2005-05-29 05:48
2005.06.29
Где Вы сейчас находитесь?


4-1115364527
Colci
2005-05-06 11:28
2005.06.29
КАК Отключить интернет????


4-1115289584
pavel_guzhanov
2005-05-05 14:39
2005.06.29
Как определить размер файла?


14-1117189726
Alexius
2005-05-27 14:28
2005.06.29
Помогите найти компонент!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский