📄 mlist.cpp
字号:
Add( new MANUFACTURER( "MRC", "Marinecomp, Inc." ) );
Add( new MANUFACTURER( "MRE", "Morad Electronics Corporation" ) );
Add( new MANUFACTURER( "MRP", "Mooring Products of New England" ) );
Add( new MANUFACTURER( "MRR", "II Morrow, Inc." ) );
Add( new MANUFACTURER( "MRS", "Marine Radio Service" ) );
Add( new MANUFACTURER( "MSB", "Mitsubishi Electric Company, Limited" ) );
Add( new MANUFACTURER( "MSE", "Master Electronics" ) );
Add( new MANUFACTURER( "MSM", "Master Mariner, Inc." ) );
Add( new MANUFACTURER( "MST", "Mesotech Systems, Limited" ) );
Add( new MANUFACTURER( "MTA", "Marine Technical Associates" ) );
Add( new MANUFACTURER( "MTG", "Narine Technical Assistance Group" ) );
Add( new MANUFACTURER( "MTK", "Martech, Inc." ) );
Add( new MANUFACTURER( "MTR", "Mitre Corporation, Inc." ) );
Add( new MANUFACTURER( "MTS", "Mets, Inc." ) );
Add( new MANUFACTURER( "MUR", "Murata Erie North America" ) );
Add( new MANUFACTURER( "MVX", "Magnavox Advanced Products and Systems Company" ) );
Add( new MANUFACTURER( "MXX", "Maxxima Marine" ) );
Add( new MANUFACTURER( "MES", "Marine Electronics Service, Inc." ) );
Add( new MANUFACTURER( "NAT", "Nautech, Limited" ) );
Add( new MANUFACTURER( "NEF", "New England Fishing Gear, Inc." ) );
Add( new MANUFACTURER( "NMR", "Newmar" ) );
Add( new MANUFACTURER( "NGS", "Navigation Sciences, Inc." ) );
Add( new MANUFACTURER( "NOM", "Nav-Com, Inc." ) );
Add( new MANUFACTURER( "NOV", "NovAtel Communications, Limited" ) );
Add( new MANUFACTURER( "NSM", "Northstar Marine" ) );
Add( new MANUFACTURER( "NTK", "Novatech Designs, Limited" ) );
Add( new MANUFACTURER( "NVC", "Navico" ) );
Add( new MANUFACTURER( "NVS", "Navstar" ) );
Add( new MANUFACTURER( "NVO", "Navionics, s.p.a." ) );
Add( new MANUFACTURER( "OAR", "O.A.R. Corporation" ) );
Add( new MANUFACTURER( "ODE", "Ocean Data Equipment Corporation" ) );
Add( new MANUFACTURER( "ODN", "Odin Electronics, Inc." ) );
Add( new MANUFACTURER( "OIN", "Ocean instruments, Inc." ) );
Add( new MANUFACTURER( "OKI", "Oki Electronic Industry Company" ) );
Add( new MANUFACTURER( "OLY", "Navstar Limited (Polytechnic Electronics)" ) );
Add( new MANUFACTURER( "OMN", "Omnetics" ) );
Add( new MANUFACTURER( "ORE", "Ocean Research" ) );
Add( new MANUFACTURER( "OTK", "Ocean Technology" ) );
Add( new MANUFACTURER( "PCE", "Pace" ) );
Add( new MANUFACTURER( "PDM", "Prodelco Marine Systems" ) );
Add( new MANUFACTURER( "PLA", "Plath, C. Division of Litton" ) );
Add( new MANUFACTURER( "PLI", "Pilot Instruments" ) );
Add( new MANUFACTURER( "PMI", "Pernicka Marine Products" ) );
Add( new MANUFACTURER( "PMP", "Pacific Marine Products" ) );
Add( new MANUFACTURER( "PRK", "Perko, Inc." ) );
Add( new MANUFACTURER( "PSM", "Pearce-Simpson" ) );
Add( new MANUFACTURER( "PTC", "Petro-Com" ) );
Add( new MANUFACTURER( "PTG", "P.T.I./Guest" ) );
Add( new MANUFACTURER( "PTH", "Pathcom, Inc." ) );
Add( new MANUFACTURER( "RAC", "Racal Marine, Inc." ) );
Add( new MANUFACTURER( "RAE", "RCA Astro-Electronics" ) );
Add( new MANUFACTURER( "RAY", "Raytheon Marine Company" ) );
Add( new MANUFACTURER( "RCA", "RCA Service Company" ) );
Add( new MANUFACTURER( "RCH", "Roach Engineering" ) );
Add( new MANUFACTURER( "RCI", "Rochester Instruments, Inc." ) );
Add( new MANUFACTURER( "RDI", "Radar Devices" ) );
Add( new MANUFACTURER( "RDM", "Ray-Dar Manufacturing Company" ) );
Add( new MANUFACTURER( "REC", "Ross Engineering Company" ) );
Add( new MANUFACTURER( "RFP", "Rolfite Products, Inc." ) );
Add( new MANUFACTURER( "RGC", "RCS Global Communications, Inc." ) );
Add( new MANUFACTURER( "RGY", "Regency Electronics, Inc." ) );
Add( new MANUFACTURER( "RMR", "RCA Missile and Surface Radar" ) );
Add( new MANUFACTURER( "RSL", "Ross Laboratories, Inc." ) );
Add( new MANUFACTURER( "RSM", "Robertson-Shipmate, USA" ) );
Add( new MANUFACTURER( "RWI", "Rockwell International" ) );
Add( new MANUFACTURER( "RME", "Racal Marine Electronics" ) );
Add( new MANUFACTURER( "RTN", "Robertson Tritech Nyaskaien A/S" ) );
Add( new MANUFACTURER( "SAI", "SAIT, Inc." ) );
Add( new MANUFACTURER( "SBR", "Sea-Bird electronics, Inc." ) );
Add( new MANUFACTURER( "SCR", "Signalcrafters, Inc." ) );
Add( new MANUFACTURER( "SEA", "SEA" ) );
Add( new MANUFACTURER( "SEC", "Sercel Electronics of Canada" ) );
Add( new MANUFACTURER( "SEP", "Steel and Engine Products, Inc." ) );
Add( new MANUFACTURER( "SFN", "Seafarer Navigation International, Limited" ) );
Add( new MANUFACTURER( "SGC", "SGC, Inc." ) );
Add( new MANUFACTURER( "SIG", "Signet, Inc." ) );
Add( new MANUFACTURER( "SIM", "Simrad,Inc." ) );
Add( new MANUFACTURER( "SKA", "Skantek Corporation" ) );
Add( new MANUFACTURER( "SKP", "Skipper Electronics A/S" ) );
Add( new MANUFACTURER( "SME", "Shakespeare Marine Electronics" ) );
Add( new MANUFACTURER( "SMF", "Seattle Marine and Fishing Supply Company" ) );
Add( new MANUFACTURER( "SML", "Simerl Instruments" ) );
Add( new MANUFACTURER( "SMI", "Sperry Marine, Inc." ) );
Add( new MANUFACTURER( "SNV", "Starnav Corporation" ) );
Add( new MANUFACTURER( "SOM", "Sound Marine Electronics, Inc." ) );
Add( new MANUFACTURER( "SOV", "Sell Overseas America" ) );
Add( new MANUFACTURER( "SPL", "Spelmar" ) );
Add( new MANUFACTURER( "SPT", "Sound Powered Telephone" ) );
Add( new MANUFACTURER( "SRD", "SRD Labs" ) );
Add( new MANUFACTURER( "SRS", "Scientific Radio Systems, Inc." ) );
Add( new MANUFACTURER( "SRT", "Standard Radio and Telefon AB" ) );
Add( new MANUFACTURER( "SSI", "Sea Scout Industries" ) );
Add( new MANUFACTURER( "STC", "Standard Communications" ) );
Add( new MANUFACTURER( "STI", "Sea-Temp Instrument Corporation" ) );
Add( new MANUFACTURER( "STM", "Si-Tex Marine Electronics" ) );
Add( new MANUFACTURER( "SVY", "Savoy Electronics" ) );
Add( new MANUFACTURER( "SWI", "Swoffer Marine Instruments, Inc." ) );
Add( new MANUFACTURER( "SRS", "Shipmate, Rauff & Sorensen, A/S" ) );
Add( new MANUFACTURER( "TBB", "Thompson Brothers Boat Manufacturing Company" ) );
Add( new MANUFACTURER( "TCN", "Trade Commission of Norway (THE)" ) );
Add( new MANUFACTURER( "TDL", "Tideland Signal" ) );
Add( new MANUFACTURER( "THR", "Thrane and Thrane A/A" ) );
Add( new MANUFACTURER( "TLS", "Telesystems" ) );
Add( new MANUFACTURER( "TMT", "Tamtech, Limited" ) );
Add( new MANUFACTURER( "TNL", "Trimble Navigation" ) );
Add( new MANUFACTURER( "TRC", "Tracor, Inc." ) );
Add( new MANUFACTURER( "TSI", "Techsonic Industries, Inc." ) );
Add( new MANUFACTURER( "TTK", "Talon Technology Corporation" ) );
Add( new MANUFACTURER( "TTS", "Transtector Systems" ) );
Add( new MANUFACTURER( "TWC", "Transworld Communications, Inc." ) );
Add( new MANUFACTURER( "TXI", "Texas Instruments, Inc." ) );
Add( new MANUFACTURER( "UME", "Umec" ) );
Add( new MANUFACTURER( "UNI", "Uniden Corporation of America" ) );
Add( new MANUFACTURER( "UNP", "Unipas, Inc." ) );
Add( new MANUFACTURER( "UNF", "Uniforce Electronics Company" ) );
Add( new MANUFACTURER( "VAN", "Vanner, Inc." ) );
Add( new MANUFACTURER( "VAR", "Varian Eimac Associates" ) );
Add( new MANUFACTURER( "VCM", "Videocom" ) );
Add( new MANUFACTURER( "VEX", "Vexillar" ) );
Add( new MANUFACTURER( "VIS", "Vessel Information Systems, Inc." ) );
Add( new MANUFACTURER( "VMR", "Vast Marketing Corporation" ) );
Add( new MANUFACTURER( "WAL", "Walport USA" ) );
Add( new MANUFACTURER( "WBG", "Westberg Manufacturing, Inc." ) );
Add( new MANUFACTURER( "WEC", "Westinghouse electric Corporation" ) );
Add( new MANUFACTURER( "WHA", "W-H Autopilots" ) );
Add( new MANUFACTURER( "WMM", "Wait Manufacturing and Marine Sales Company" ) );
Add( new MANUFACTURER( "WMR", "Wesmar Electronics" ) );
Add( new MANUFACTURER( "WNG", "Winegard Company" ) );
Add( new MANUFACTURER( "WSE", "Wilson Electronics Corporation" ) );
Add( new MANUFACTURER( "WTC", "Watercom" ) );
Add( new MANUFACTURER( "WST", "West Electronics Limited" ) );
Add( new MANUFACTURER( "YAS", "Yaesu Electronics" ) );
Sort();
}
const CString& MANUFACTURER_LIST::Find( const CString& mnemonic )
{
static CString return_value;
MANUFACTURER *manufacturer_p = (MANUFACTURER *) NULL;
return_value.Empty();
int lower_limit = 0;
int upper_limit = 0;
int index = 0;
int drop_dead = 0;
int comparison = 0;
int exit_loop = 0;
/*
** Check to see if the list has been filled
*/
if ( ManufacturerTable.GetSize() == 0 )
{
Fill();
}
/*
** Do a Binary Search to call the appropriate function
*/
lower_limit = 0;
upper_limit = ManufacturerTable.GetSize();
index = upper_limit / 2;
drop_dead = ( index < 10 ) ? 10 : index + 2;
/*
** The drop_dead is here as an insurance policy that we will never get stuck in an endless loop.
** I have encountered situations where the inaccuracy of the division leaves the loop stuck when
** it can't find something.
*/
while( exit_loop == 0 )
{
manufacturer_p = (MANUFACTURER *) ManufacturerTable[ index ];
comparison = mnemonic.Compare( manufacturer_p->Mnemonic );
if ( comparison == 0 )
{
return_value = manufacturer_p->CompanyName;
exit_loop = 1;
}
else
{
if ( comparison < 0 )
{
upper_limit = index;
}
else
{
lower_limit = index;
}
if ( lower_limit == upper_limit )
{
exit_loop = 1;
}
else
{
index = ( lower_limit + upper_limit ) / 2;
}
}
drop_dead--;
if ( drop_dead < 0 )
{
exit_loop = 1;
}
}
return( return_value );
}
void MANUFACTURER_LIST::Sort( void )
{
int index = 0;
int number_of_entries_in_table = ManufacturerTable.GetSize() - 1;
MANUFACTURER *this_manufacturer = (MANUFACTURER *) NULL;
MANUFACTURER *that_manufacturer = (MANUFACTURER *) NULL;
BOOL sorted = FALSE;
while( sorted == FALSE )
{
sorted = TRUE;
index = 0;
while( index < number_of_entries_in_table )
{
this_manufacturer = (MANUFACTURER *) ManufacturerTable[ index ];
that_manufacturer = (MANUFACTURER *) ManufacturerTable[ index + 1 ];
if ( this_manufacturer->Mnemonic.Compare( that_manufacturer->Mnemonic ) > 0 )
{
ManufacturerTable[ index ] = that_manufacturer;
ManufacturerTable[ index + 1 ] = this_manufacturer;
sorted = FALSE;
}
index++;
}
}
}
const CString& MANUFACTURER_LIST::operator [] ( const char *mnemonic )
{
return( Find( mnemonic ) );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -