⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bluejackxcontainer.cpp

📁 symbian平台蓝牙程序,功能实现:搜索设备,指定时间间隔搜索,对指定的设备发送信息,也可指定时间间隔发送,日志操作,可通过mms,红外,蓝牙发送日志等
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		//buddy suchen aufrufen
		pApp->BuddysSuchen();
		iListBox->HandleItemAdditionL();
		iListBox->DrawNow();
	}

// ----------------------------------------------------
// ----------------------------------------------------

void CBlueJackXContainer::SaveLog()
	{
		// check ob schon vorhanden nach nick
		_LIT(KSettingsFileName, "\\system\\apps\\BlueJackX\\Log.dat"); 
		TFileText fSession; 
		RFile file; 
		TInt ret = KErrNone; 
		TBuf16<256> settingsBuf; 

		if (ret == KErrNone) 
			{ 
				ret = file.Open(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileWrite); 
                if (ret == KErrNotFound) 
                    { 
					   ret = file.Create(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileWrite); 
                    } 
                if (ret == KErrNone) 
                    { 

					//
						CleanupClosePushL(file); 
						fSession.Set(file); 
						fSession.Seek(ESeekStart); 
						// zum vergleich ob leer
						TBuf16<256> vergleicher;
						vergleicher+=_L("");
						int anzahl;
						anzahl = itemArray->Count();

						if (anzahl==0)
							{

							}else{

								int n;
								for (n=0;n<=anzahl-1;n++)
									{
											//schonvorhanden chekc und dann nach save liste leeren
											// 23 schauen ob eintrag schon vorhanden:
											TBuf16<256> settingsBuf; 
											TInt zeilenende; 
											zeilenende = KErrNone;
											fSession.Seek(ESeekStart); 
											fSession.Set(file); 
											
											TInt ivorhanden;
											ivorhanden = 0;

											while (zeilenende != KErrEof) 
											{ 
												zeilenende = fSession.Read(settingsBuf); 
												if (vergleicher==settingsBuf)
													{}else{
														//====================== Zeilen spiltten
														const TChar KSeparator = ';'; 
														TLex lex(settingsBuf);            
														TPtrC e1 = ExtractToken(lex, KSeparator); 
														TPtrC e2 = ExtractToken(lex, KSeparator); 
														TPtrC e3 = ExtractToken(lex, KSeparator); 
														TBuf16<100> Name;
														Name.Copy(e3);

														TBuf16<100> MACv;
														MACv.Copy(e2);

														// FEHLER hier wird nur einmal gepr黤t komisch
														if(Name==iItemArray_Nick->MdcaPoint(n))
															{
																//vorhanden=true;
																ivorhanden++;

																if(MACv==iItemArray_MacID->MdcaPoint(n))
																	{
																		ivorhanden++;
																	}
															}
														//======================
													}
												 
											} 
											// E23 ende vorhanden
											bool vorhanden;
											switch(ivorhanden)
												{
													case 0: vorhanden=false; break;
													case 1: vorhanden=false; break;
													case 2: vorhanden=true;  break;
												}

											//nur speichern wenn noch nicht in liste
											if(vorhanden==false)
												{
													//--------- SPEICHERN 

													// Handy namen aus listbox holen
													_LIT16(meinstring,"");
													TBuf16<40> nick(meinstring);
													nick.Copy(iItemArray_Nick->MdcaPoint(n));

													// mac id des handys auslesen
													_LIT16(tmpstr,"");
													TBuf16<65> handymac(tmpstr);
													handymac.Copy(iItemArray_MacID->MdcaPoint(n));

													TBuf16<65> stamp(meinstring);
													TBuf16<65> stamp1(meinstring);

													stamp.Copy(iItemArray_Stamp->MdcaPoint(n));
													TInt laenge;
													laenge = stamp.Length();
														stamp1 +=_L(" ");
														int i;
														for (i=0;i<=laenge-1;i++)
																{
																	if (stamp.Mid(i,1)==_L("0")){stamp1 += _L("0");}
																	if (stamp.Mid(i,1)==_L("1")){stamp1 += _L("1");}
																	if (stamp.Mid(i,1)==_L("2")){stamp1 += _L("2");}
																	if (stamp.Mid(i,1)==_L("3")){stamp1 += _L("3");}
																	if (stamp.Mid(i,1)==_L("4")){stamp1 += _L("4");}
																	if (stamp.Mid(i,1)==_L("5")){stamp1 += _L("5");}
																	if (stamp.Mid(i,1)==_L("6")){stamp1 += _L("6");}
																	if (stamp.Mid(i,1)==_L("7")){stamp1 += _L("7");}
																	if (stamp.Mid(i,1)==_L("8")){stamp1 += _L("8");}
																	if (stamp.Mid(i,1)==_L("9")){stamp1 += _L("9");}
																	if (stamp.Mid(i,1)==_L(":")){stamp1 += _L(":");}
																	if (stamp.Mid(i,1)==_L(" ")){stamp1 += _L(" ");}
																	if (stamp.Mid(i,1)==_L(".")){stamp1 += _L(".");}
																	if (stamp.Mid(i,1)==_L("-")){stamp1 += _L("-");}
																}
													// zusamensetzen
													TBuf16<200> Zeile;
													Zeile += stamp1;
													Zeile += (_L(";"));
													Zeile += handymac;
													Zeile += (_L(";"));
													Zeile += nick;
													Zeile += (_L("\n\r"));
													
													settingsBuf.Copy(Zeile);
													// abspeichern
													fSession.Write(settingsBuf); 	

												//-----------speichern
												}
											
									}
							}
						fSession.Seek(ESeekStart); 
						CleanupStack::PopAndDestroy(); // closes the file 
                    } 
			} 
	}

// ----------------------------------------------------
// ----------------------------------------------------

void CBlueJackXContainer::LoadLog()
	{ 
		_LIT(KSettingsFileName, "\\system\\apps\\BlueJackX\\Log.dat"); 
		TFileText fSession; 
		RFile file; 
		TInt ret = KErrNone; 
		TBuf16<256> settingsBuf; 
		TBuf16<256> vergleicher;
		vergleicher+=_L("");
		TInt zeilenende; 

		if (ret != KErrNone) 
			{ 
			}else{ 
				ret = file.Open(CEikonEnv::Static()->FsSession(), KSettingsFileName, EFileRead | EFileShareAny); 
				if (ret != KErrNone) 
				{ 
				}else{ 
					fSession.Set(file); 
					while (zeilenende != KErrEof) 
					{ 
						zeilenende = fSession.Read(settingsBuf); 
						if (vergleicher==settingsBuf)
							{}else{
		
								
								//====================== Zeilen spiltten
								const TChar KSeparator = ';'; 
								TLex lex(settingsBuf);            
								TPtrC e1 = ExtractToken(lex, KSeparator); 
								TPtrC e2 = ExtractToken(lex, KSeparator); 
								TPtrC e3 = ExtractToken(lex, KSeparator); 
								
								TBuf16<100> Datum;
								TBuf16<100> Mac;
								TBuf16<100> Name;
								
								Datum.Copy(e1);
								Mac.Copy(e2);
								Name.Copy(e3);
								Datum.Delete(0,1);
								//======================

								//====== in liste packen

								iItemArray_Nick->AppendL(Name);

								iItemArray_Stamp->AppendL(Datum);
								iItemArray_MacID->AppendL(Mac);

								// Firma speichern
								TBuf<65> firmastring;
								


								const TChar KSeparator1 = ':'; 
								TLex lex1(Mac);            
								TPtrC m1 = ExtractToken(lex1, KSeparator1); 
								TPtrC m2 = ExtractToken(lex1, KSeparator1); 
								TPtrC m3 = ExtractToken(lex1, KSeparator1); 
								
								TBuf16<5> ms1;
								TBuf16<5> ms2;
								TBuf16<5> ms3;
								
								ms1.Copy(m1);
								ms2.Copy(m2);
								ms3.Copy(m3);
								
								TBuf<65> ersten3Stellen;

								ersten3Stellen +=m1;
								ersten3Stellen +=_L(":");
								ersten3Stellen +=m2;
								ersten3Stellen +=_L(":");
								ersten3Stellen +=m3;
								
								firmastring = pApp->FirmenListe(ersten3Stellen);

								iItemArray_Firma->AppendL(firmastring); // Firma speichern
								TBuf16<80> str35;
								str35+=_L("\t");
								str35+=Name;
								str35+=_L("\t");
								str35+=Datum;
								itemArray->AppendL(str35);
								
							}
						} 
					} 
				file.Close(); 
			} 

			// Listbox ausgeben
			iListBox->HandleItemAdditionL();
			iListBox->DrawNow();
	} 

void CBlueJackXContainer::List_Clear()
	{		

		itemArray->Reset();

		iItemArray_Stamp->Reset();
		iItemArray_MacID->Reset();
		iItemArray_Firma->Reset();
		iItemArray_Nick->Reset();
		
		iListBox->HandleItemAdditionL();
		iListBox->DrawNow(); // listbox wird ausgegeben
	}

void CBlueJackXContainer::Delete_logfile()
	{
		RFs fsSession; 
		fsSession.Connect();
		fsSession.Delete(_L("\\system\\apps\\BlueJackX\\Log.dat"));
		fsSession.Close();
	}

// ----------------------------------------------------
// ----------------------------------------------------

void CBlueJackXContainer::ShowDeviceDetails()
{
	_LIT16(meinstring,"");
	TBuf16<32> nick(meinstring);
	TBuf16<32> macid(meinstring);
	TBuf16<32> Firma(meinstring);
	TBuf16<40> stamp(meinstring);
	TInt selectetNumber;
	selectetNumber = iListBox->CurrentItemIndex();

	// nur wenn ger鋞e vorhanden
	if(selectetNumber>=0)
		{
			// Device info dialog ausgeben
			nick.Copy(iItemArray_Nick->MdcaPoint(selectetNumber));
			macid.Copy(iItemArray_MacID->MdcaPoint(selectetNumber));
			Firma.Copy(iItemArray_Firma->MdcaPoint(selectetNumber));
			stamp.Copy(iItemArray_Stamp->MdcaPoint(selectetNumber));

			// info String zusammenbauen
			TBuf<300> DeviceInfo;
			
			DeviceInfo += _L("Device Name:\n");
			DeviceInfo += nick;
			DeviceInfo += _L("\nMac-ID:\n");
			DeviceInfo += macid;
			DeviceInfo += _L("\nModel:\n");
			DeviceInfo += Firma;
			DeviceInfo += _L("\nStamp:\n");
			DeviceInfo += stamp;

			// evtl wenn gejackt richtighacken sonst durchgekreuzt
			// status array hinzuf黦en f黵 gefunden /jejackt / not jackable
/*

			CAknInformationNote* dlg = new(ELeave)CAknInformationNote(ETrue); 
			dlg->SetTimeout(CAknNoteDialog::ENoTimeout); 
			dlg->ExecuteLD(DeviceInfo); */

TBuf16<300>message;
message.Copy(DeviceInfo);

pApp->ShowDeviceDetails(message);

		}
}

void CBlueJackXContainer::StatusPaneMeldung(TBuf<20> Message)
	{
		// entferne status objekte
		delete (CBase*) iNaviDecorator;
		CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();
		iNaviPane = (CAknNavigationControlContainer *)sp->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
		iNaviDecorator = iNaviPane->CreateMessageLabelL(Message);
		iNaviPane->PushL(*iNaviDecorator);
	}
// End of File  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -