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

Вниз

а что это за знак такой - ?   Найти похожие ветки 

 
Нуб   (2007-03-15 12:28) [0]

я когда с excel копирую данные допустим в блокнот то данные ячеек разделены следующим символом он идет после - и перед ? когда я его копирую получается что то типа | - что это такое ?


 
Desdechado ©   (2007-03-15 12:32) [1]

разделитель полей


 
Нуб   (2007-03-15 12:38) [2]

а chr ili ord я не помню у него какой ?


 
Desdechado ©   (2007-03-15 12:42) [3]

124
?


 
Johnmen ©   (2007-03-15 13:18) [4]

#10 переход на след.строку


 
Нуб   (2007-03-15 13:48) [5]

еще вот такой вопрос у меня есть строка из 10 символов
я хочу с этой строки копирнуть 6,7...10 какая это функсия делает по-моему strncat была такая , ну чего то ее нет уже ...


 
Desdechado ©   (2007-03-15 13:55) [6]

Copy
как ни странно


 
Нуб   (2007-03-15 14:01) [7]

function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;

Description

S is an expression of a string or dynamic-array type. Index and Count are integer-type expressions. Copy returns a substring or sub array containing Count characters or elements starting at S[Index].
внатуре :)


 
Сергей М. ©   (2007-03-15 14:17) [8]


> Нуб   (15.03.07 14:01) [7]


Тихо сам с собою ты ведешь беседу ?


 
Нуб   (2007-03-15 14:28) [9]


> Сергей М. ©


а как можно с PChar перевести в String ?


 
Сергей М. ©   (2007-03-15 14:32) [10]


> Нуб   (15.03.07 14:28) [9]


> как можно с PChar перевести в String ?


StrPas()


 
Нуб   (2007-03-15 15:03) [11]

кто знает почему разделитель полей в екселе принимает разные значения ? один раз Ord("разделителя")  у меня равен 52 , в другой раз 51 , в третий вообще 45 , и из-за этого у меня никак не получается разделить полученные данные с ячеек екселя , что мне делать ? подскажите плз  
написал вот что-то такое в одном случае все ок в другом не пашет ничего
procedure TForm1.Button1Click(Sender: TObject);
var b : Boolean;
   str : string;
   i : integer;
   c : PChar;
   k : integer;
   kol4isel : integer;
   dlina4isla : integer;

begin
  kol4isel := 1;

  b := Clipboard.HasFormat(CF_TEXT);
  if b then
  Memo1.Text:=Clipboard.asText;

  str := Clipboard.asText;
  GetMem(c,Length(str));   // videlyaem pamyat"
  StrCopy(c,PChar(str));   // v c zakinuli ya4eyki

  for i:=1 to StrLen(c) do begin   // opredelyaem koli4estvo ya4eek
      if Ord(c[i]) = 52 then
      kol4isel := kol4isel + 1;
  end;
//         strlcopy(buffer,c,4);
//         buffer := PChar(Copy(c,4,3));

  for i:=1 to StrLen(c) do begin   // opredelyaem dlinuYa4eyki v simvolah
      if Ord(c[i]) = 52 then begin
        dlina4isla := i-1 ; break;
      end;
  end;

 Label1.Caption := c;

 Label2.Caption := IntToStr(Ord(c[18]));

 Label3.Caption := IntToStr(kol4isel);
 FreeMem(c);

end;


 
Сергей М. ©   (2007-03-15 15:45) [12]


> Нуб   (15.03.07 15:03) [11]


Хрень какая-то ...

procedure TForm1.Button1Click(Sender: TObject);
begin
 showmessage(Clipboard.AsText);
end;

Что видишь на экране ?


 
Нуб   (2007-03-15 16:32) [13]


> Сергей М. ©  

у меня в ячейках экселя числа типа 4.904 , 4,120 мне после того как я их вытащу, надо закинуть в стринггрид , а для того чтобы мне их закинуть в стриггрид , необходимо разбить значения которые я получил из Clipboard.AsText , а значения которые я получил будут в строке вида
4.904"разделитель"4.120"разделитель"n"разделитель" и так дальше. Когда ради интереса я взял скопировал строчку из экселя в блокнот, то заметил что разделитель похож очень уже на chr(5) - "|"  и считая что chr(5) - "|" это и есть разделитель написал

str := Clipboard.asText;
  for i := 1 to Length(str) do
     if str[i] = Chr(5) then
     Inc(kol4isel);

 for i := 1 to Length(str) do begin      // opredelyaem dlinuYa4eyki v simvolah
     if str[i] = Chr(5) then begin
        dlina4isla := i-1 ; break;
     end;
 end;

при выполнении разделителей в строке не находит , то есть разделитель это что-то другое а что фиг поймешь :(


 
Плохиш ©   (2007-03-15 16:43) [14]


> заметил что разделитель похож очень уже на chr(5)

Рыдал... Великие кодеры теперь опперируют понятиями "похож"... рыдал...


 
Плохиш ©   (2007-03-15 16:47) [15]


> Нуб   (15.03.07 16:32) [13]

Я тебе один тайна открою... в екселе разделителями является символ табуляции...


 
Нуб   (2007-03-15 16:50) [16]


> Плохиш ©  

та лана че там это всего лишь оказался знак тубуляции :)
chr(9) хана


 
Сергей М. ©   (2007-03-15 17:07) [17]


> Нуб


А я тебе еще один тайна открою, в тон рыданиям Плохиша)

Строки там разделяются chr(13)

Хана)


 
Нуб   (2007-03-15 17:24) [18]


> Сергей М. ©


да да спс про 13 я знал , а вот про таб нет )


 
Нуб   (2007-03-15 17:38) [19]

вообщем все заработало :), а как сделать так чтобы при нажатие ctrl + v там чего-то срабатывало , допустим моя процедура? То есть я хочу чтобы я при нажатии на вышеуказанную комбинацию клавиш заганял данные в грид, заранее сенкс


 
Нуб   (2007-03-15 17:50) [20]

а чему равен chr(ctrl) i ctrl(v) ?


 
Нуб   (2007-03-15 17:51) [21]

то есть chr(x) = ctrl и chr(x2) = v , чему равны x , x2 ?


 
Нуб   (2007-03-15 18:18) [22]

я добрый сегодня :) юзайте на здоровья

procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
if MessageDlg("Ñåé÷àñ áóäóò âíåñåíû äàííûå ñ ÿ÷ååê?",
   mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
   kol4isel := 1;
   step := 1;
   memo1.Text := Clipboard.asText;
   str := Clipboard.asText;

     for i := 1 to Length(str) do
        if str[i] = chr(9) then
        Inc(kol4isel);

     for i := 1 to Length(str) do begin      // opredelyaem dlinuYa4eyki v simvolah
        if str[i] = chr(9) then begin
           dlina4isla := i-1 ; break;
        end;
     end;
     StringGrid1.ColCount := kol4isel+1;

     for i := 1 to kol4isel do begin
        arrstr := copy(str,step,dlina4isla);
        step := step + dlina4isla+1;
        StringGrid1.Cells[i,1] := arrstr;
    end;
 end;
end;



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

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

Наверх





Память: 0.5 MB
Время: 0.039 c
15-1173556275
ArtemESC
2007-03-10 22:51
2007.04.08
Где найти?


15-1173855658
nasty196
2007-03-14 10:00
2007.04.08
panel zada4


3-1168947590
vlad2
2007-01-16 14:39
2007.04.08
Есть ли альтернатива Paradox y?


15-1173768840
ДмитрийЛ.
2007-03-13 09:54
2007.04.08
Проблема с выбором СУБД


2-1173782342
novill
2007-03-13 13:39
2007.04.08
Вопрос по созданию/уничтожению форм





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