![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Народ! помогите пожалуйста найти человека который очень хорошо разбирается с Буфером Обмена! 
		
	
		
		
		
		
		
	
		
		
	
	
	нужно срочно разобраться с этим кодом: Код: 
	MS:=TMemoryStream.Create;
   if OpenClipboard(0) then   
  begin
    CBFList:=TList.Create;
    CBF:=0;
    repeat
    CBF:=EnumClipboardFormats(CBF);
    if CBF<>0 then CBFList.Add(Pointer(CBF));
    until CBF=0;
    if CBFList.Count>0 then
    begin
    Temp:=CBFList.Count;
    MS.Write(Temp,SizeOf(Integer));
       for I:=0 to CBFList.Count-1 do
      begin
      H:=GetClipboardData(Cardinal(CBFList[i]));
        if H>0 then
        begin
          CBBlockLength:=GlobalSize(H);
          if H>0 then
          begin
            P:=GlobalLock(H);
            if P<>nil then
            begin
              Temp:=Cardinal(CBFList[i]);
             MS.Write(Temp,SizeOf(Cardinal));
             MS.Write(CBBlockLength,SizeOf(Cardinal));
            MS.Write(P^,CBBlockLength);
             end;
            GlobalUnlock(H);
          end;
        end;
      end;
    end;
    CBFList.Free;
  CloseClipboard;
  end;кто понимает что тут? нужно кое что добавить.. от меня бонусы =) есть на форуме специалисты?  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 ну и что тут понимать? 
		
	
		
		
		
		
		
	
		
		
	
	
	Код берет все зарегистрированные для буфера обмена форматы и потом пытается получить данные по этим форматам. Сохраняет это все в памяти. Не совсем понятно зачем весь этот компот, т.к. вроде в стандартном буффере данные могут лежать только в одном формате, хотя с тех пор, когда я работал последний раз с cb уже может что и поменялось и теперь там можно сразу несколько разных данных хранить в разных форматах... хотя сомневаюсь я в этом - иначе бы многие старые прогрммы с ума бы сошли...  |