Главная страница
    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.046 c
3-1116407444
Iova
2005-05-18 13:10
2005.06.29
InterBase с помощью ADO.


1-1117622966
Leonid
2005-06-01 14:49
2005.06.29
Запуск DOS-приложения


1-1117619099
12345
2005-06-01 13:44
2005.06.29
Эффект 25 кадра


14-1117904770
Qwertyk
2005-06-04 21:06
2005.06.29
Модем - Телефон


3-1116246096
RavenD
2005-05-16 16:21
2005.06.29
Картинки в BLOB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский