Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > [C++ Builder 6]FOXPRO+ADO


Автор: Palladin 27.4.2008, 22:47
Возникла проблема, немогу понять из-за чего, топорными методами не хочу решать данную проблему, нужна помощь
Вообщем при редактировании записей БД на FOXPRO поля сразу забиты пробелами, т.е. моя инфа а дальше на всю длину строки пробелы, к примеру у меня поле может вместить 10 символов, при редактировании, записи будет к примеру так: "1234567   " как сделать так чтобы в конец не забивались пробелы, видимо что-то нада проставить либо в таблице БД, либо в DBEDIT-ax либо в ADOTable либо в DBGrid чтобы это не происходило, запарился уже искать smile  если кто знает отпишите как решить эту проблему, если же в БД, DBEdit-ах, DBGrid-e это сделать нельзя также отпишите буду "изобретать велосипед" сам smile  smile  smile  smile  smile  

Автор: OMu4KA 28.4.2008, 09:27
Попробуй в ADOTable обрезать строку перед занесением в базу (либо при чтении из базы, когда пробелы начинают мешать), если тебе это подходит. Ниже - код, обрезающий пробелы и с начала, и с конца строки:
Код

char* __fastcall alltrim(char* str)
{
  int size=strlen(str);
  while(str[0]==' ')
  {
    memcpy(str,&str[1],size-1);
    str[size-1]=0;
  }

  for(int i=size-1;i>=0;i--)
  {
    if(str[i]==' ')
      str[i]=0;
    else if(str[i]!=0)
      break;
  }
  return str;   
}

Автор: Данкинг 28.4.2008, 10:31
Поля на фоксе всегда забиты пробелам, поэтому инфу из них надо брать с обрезанием этих пробелов, т.е. это функция на фоксе ALLTRIM, на Дельфи TRIM, на билдере не знаю, но тоже должна быть какая-то. smile 

Автор: OMu4KA 28.4.2008, 10:42
Цитата(Данкинг @ 28.4.2008,  10:31)
Поля на фоксе всегда забиты пробелам, поэтому инфу из них надо брать с обрезанием этих пробелов, т.е. это функция на фоксе ALLTRIM, на Дельфи TRIM, на билдере не знаю, но тоже должна быть какая-то. smile

Точно!
extern PACKAGE AnsiString __fastcall Trim(const AnsiString S);
AnsiString __fastcall AnsiString::Trim() const;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)